python - Python Pandas 加载日期和日期范围
问题描述
我有一个电子表格,列出了不同学校的假期。一个例子是:
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)]
但我相信有更好的方法。检查给定日期是否是假期的最佳方法是什么?
解决方案
似乎已经使用pandas.tseries.holiday
https://stackoverflow.com/a/24645696/5298555回答了
推荐阅读
- grafana - 使用 grafana Table 面板插件填充常量值
- c++ - C++ Primer 5 Edition:流迭代器和 Sales_item
- javascript - Ghostscript 是否支持将 JavaScript 插入现有 PDF?
- django - Django:我在 B 上有一个带有 FK 的对象 A。如何以 A 的形式在下拉列表中显示 B 中的列?
- c++ - 是否有用于处理 C++ 中未定义行为的 Visual Studio 工具?
- ios - 使用 SceneDelegate 在 AppDelegate 中设置 UIWindow
- list - Haskell 中的“无法将类型 '[]' 与 'IO' 匹配”错误
- javascript - 在 javascript 中更改按钮背景时在 HTML 中丢失悬停和活动样式
- javascript - ReactJS:在代码镜像编辑器顶部显示另一个 UI 元素
- javascript - 如何从 UpdatePanel 回调中调用 javascript 函数(带有更改的主体)?