【发布时间】:2019-12-27 12:34:41
【问题描述】:
我想创建一个圣诞节和后天假期的类,但是遇到了一个问题。有三分之一的特殊情况我无法完全解决。
案例1:圣诞节是星期五,假期是星期五(12-25)和星期六(12-26)(已解决)。这个案例发生在2020年
案例2:圣诞节是星期六,假期是星期六(12-25)和星期一(12-27)(已解决)。此案发生在 2021 年
案例3:圣诞节是星期日,假期是星期一(12-26)和星期二(12-27)(未解决)。这个案例发生在2016年
如果observance= monday_to_tuesday 可用,则案例 3 可以解决,但遗憾的是它不是,这就是我在这里寻求帮助的原因,因为 pandas tseries user guide 没有说任何关于创建自定义纪念或任何关于从任何工作日开始遵守的情况。
我正在学习的课程如下:
from pandas.tseries.holiday import Holiday, sunday_to_monday, AbstractHolidayCalendar
import pandas as pd
import datetime as dt
class MyHolidays(AbstractHolidayCalendar):
rules = [Holiday('Christmas',month=12,day=25, observance= sunday_to_monday),
Holiday('Boxingday',month=12,day=26, observance= sunday_to_monday)]
cal= MyHolidays()
if __name__ == '__main__':
myholidays =cal.holidays(start = dt.datetime(2016,1,1), end=dt.datetime(2021,12,31))
temp_s = pd.Series(myholidays)
print(temp_s)
有什么办法可以解决我的问题吗?提前谢谢你
【问题讨论】:
标签: python python-3.x pandas datetime time-series