【问题标题】:Python Pandas load dates and range of datesPython Pandas 加载日期和日期范围
【发布时间】:2020-04-16 22:44:34
【问题描述】:

我有一个电子表格,其中列出了不同学校的假期。一个例子是:

            Labor Day    Fall Break    Veterans Day    Random Holiday
DistrictA         9/2         10/14           11/11
DistrictB         9/2   10/13-10/14           11/11       12/17,12/19 

节假日可以是单个日期、范围(用连字符分隔)或多个日期(用逗号分隔)。

我正在尝试创建一个数组,其中给定地区名称和日期,如果这是一个假期,它将简单地返回(真/假)。

我所拥有的基础知识是:

import pandas as pd
vacation = pd.read_excel("Vacations.xlsx")
v = {}
for index, row in vacation.iterrows():
    v[row[0]] = row.values.tolist()[1:]
print(v)

这将创建一个字典,其中键是地区名称,值是时间范围值的数组(datetime 对象、Timestamp 对象、字符串(如果日期是范围或多个)、nan(不是#) 或 NaT(不是时间)

我的一个想法是遍历每个日期值并将日期附加到新列表中。比如:

'DistrictA': [datetime.datetime(2019,9,2), '10/13-10/15', Timestamp('2019-11-11 00:00:00')]

会变成

'DistrictA': [datetime.datetime(2019,9,2), datetime.datetime(2019,10,13), datetime.datetime(2019,10,14), datetime.datetime(2019,10,15), datetime.datetime(2019,11,11)]

但我确信有更好的方法。检查给定日期是否为假期的最佳方法是什么?

【问题讨论】:

    标签: python pandas date datetime


    【解决方案1】:

    似乎已经使用pandas.tseries.holidayhttps://stackoverflow.com/a/24645696/5298555回答了

    【讨论】:

    • 这些不是标准的美国假期。它由学区设置。每个区都有不同的休息日
    猜你喜欢
    • 2018-02-20
    • 2012-11-06
    • 1970-01-01
    • 1970-01-01
    • 2017-02-23
    • 1970-01-01
    • 2019-07-06
    • 2014-01-07
    • 1970-01-01
    相关资源
    最近更新 更多