在 python3 上的 DataFrame 中标记假期

Posted

技术标签:

【中文标题】在 python3 上的 DataFrame 中标记假期【英文标题】:Flag holidays in DataFrame on python3 【发布时间】:2020-02-28 22:19:24 【问题描述】:

我有一个带有时间戳和一组假期日期时间的 pandas DataFrame

datetime.date(2016, 1, 1), datetime.date(2016, 3, 25), datetime.date(2016, 3, 27), datetime.date(2016, 3, 28), datetime.date(2016, 5, 2), datetime.date(2016, 5, 30), datetime.date(2016, 8, 29), datetime.date(2016, 12, 25), datetime.date(2016, 12, 26), datetime.date(2016, 12, 27)

我想标记是否是假期。如果你能教我如何做到这一点,那就太好了。谢谢!

    timestamp
0   2016-01-01 00:00:00
1   2016-01-01 00:00:00
2   2016-01-01 00:00:00
3   2016-01-01 00:00:00
4   2016-01-01 00:00:00
... ...
20216095    2016-12-31 23:00:00
20216096    2016-12-31 23:00:00
20216097    2016-12-31 23:00:00
20216098    2016-12-31 23:00:00
20216099    2016-12-31 23:00:00

【问题讨论】:

【参考方案1】:

确保timestamp 列的类型为日期时间,然后使用date 与假期集进行比较。

df['timestamp'] = pd.to_datetime(df['timestamp'])
df['holidays'] = pd.np.where(df['timestamp'].dt.date.isin(holidays), 1, 0)

【讨论】:

以上是关于在 python3 上的 DataFrame 中标记假期的主要内容,如果未能解决你的问题,请参考以下文章

使用 Pandas DataFrame 样式为列着色(Python 3)

MFC 中标题栏上的关闭按钮

仅使用 Ag-grid 中标题上的复选框从当前页面中选择行

Python3 DataFrame数据运算

Python3 DataFrame数据运算

Python3 DataFrame数据详解