我想在我的timeseries(来自中国的数据)中的一个额外的列中将日期标记为假日(布尔真)和非假日(布尔假)
我对这个话题还不熟悉,目前我正试图找出解决这个问题的方法
2020年我有以下几天作为中国法定假日:
据我所知,中国没有现成的日历,因此我必须创建一个自定义日历,如下所示:
from pandas.tseries.holiday import Holiday,AbstractHolidayCalendar
class ChineseHolidays(AbstractHolidayCalendar):
rules = [Holiday('Chinese New Year', month=1, day=25),
'Question: How to add more than one day?',
etc,
...]
cal = ChineseHolidays()
接下来的步骤是创建假日列,如下所示:
holidays = cal.holidays(start=X['timestamp'].min(), end = X['timestamp'].max())
X.assign(Holidays=X['timestamp'].isin(cal.holidays()).astype(int))
我的问题是:
1)一般来说,这是一种合适的方法吗
2)我如何在线路假日(“中国新年”,月=1,日=25)中定义从1月24日开始到1月30日结束的日子?有没有办法定义休息日而不是只定义一天
谢谢你的帮助
最好的
B
在我看来,Pandas有许多不同的日期方法,支持句点和重复日期
https://pandas.pydata.org/pandas-docs/stable/user_guide/timeseries.html
他们还提到在假期使用这个,所以我怀疑这可能是你想要的
范例
中国人使用农历。 因此,您可以在python中使用这样的库:
pip instal LunarCalendar
返回规范2020-01-25
相关问题 更多 >
编程相关推荐