此代码返回ValueError: day is out of range for month
:
from pandas.tseries.holiday import Holiday, AbstractHolidayCalendar
from pandas.tseries.offsets import MonthEnd
import datetime as dt
class MyHolidays(AbstractHolidayCalendar):
rules = [Holiday('Sapeur',month=2,day=29)]
cal=MyHolidays()
if __name__ == '__main__':
start = dt.date(2020, 2, 1)
myholidays =cal.holidays(start, start + MonthEnd())
您如何使此代码在非闰年工作? 我以为假期会处理好的,是吗
Thx有很多预付款
ps:2020年是闰年,但不是2019年或2021年。 ps2:我寻求比以下更好的解决方案:
rules = [Holiday('Sapeur',year=2020, month=2,day=29),
Holiday('NoSapeur',year=2021, month=2,day=28),
Holiday('NoSapeur',year=2022, month=2,day=28),
Holiday('NoSapeur',year=2023, month=2,day=28),
Holiday('Sapeur',year=2024, month=2,day=29),
Holiday('NoSapeur',year=2025, month=2,day=28),
Holiday('NoSapeur',year=2026, month=2,day=28),
Holiday('NoSapeur',year=2027, month=2,day=28),
Holiday('Sapeur',year=2028, month=2,day=29),
...]
因为我每年2月都在度假,我会用以下方式制定规则:
cejour=pd.Timestamp.today()
RÈGLES=[]
mois=2
for jour in pd.date_range(début_mois:=cejour.replace(month=mois, day=1), début_mois+MonthEnd(), normalize=True):
RÈGLES+=[Holiday('Vacances Février',month=mois, day=jour.day)]
class MyHolidays(AbstractHolidayCalendar):
rules = RÈGLES
定义你自己的遵守
如果您尝试使用非闰年,那么它将不分配任何内容
相关问题 更多 >
编程相关推荐