学堂 学堂 学堂公众号手机端

Pandas可以通过pandas.bdate_range()函数生成工作日,并通过自定义日历参数来生成节假日。 下面是一个示例,演示如何使用Pandas生成2021年的工作日和自定义的节假日

lewis 1年前 (2024-04-28) 阅读数 21 #技术

Pandas可以通过pandas.bdate_range()函数生成工作日,并通过自定义日历参数来生成节假日。

下面是一个示例,演示如何使用Pandas生成2021年的工作日和自定义的节假日:

importpandasaspd frompandas.tseries.holidayimportAbstractHolidayCalendar,Holiday,nearest_workday,USMartinLutherKingJr,USPresidentsDay,GoodFriday,USMemorialDay,USLaborDay,USThanksgivingDay,USChristmasDay frompandas.tseries.offsetsimportCustomBusinessDay #自定义节假日日历 classCustomCalendar(AbstractHolidayCalendar): rules=[ Holiday('NewYear',month=1,day=1), Holiday('IndependenceDay',month=7,day=4), Holiday('Thanksgiving',month=11,day=1,offset=USThanksgivingDay), Holiday('Christmas',month=12,day=25) ] #设置工作日和节假日参数 bday_us=CustomBusinessDay(calendar=CustomCalendar()) holidays=pd.to_datetime(['2021-01-01','2021-07-04','2021-11-25','2021-12-25']) #生成2021年的工作日 start_date='2021-01-01' end_date='2021-12-31' dates=pd.bdate_range(start_date,end_date,freq=bday_us,holidays=holidays) #打印结果 print(dates)

上述代码中,我们定义了一个CustomCalendar类来表示自定义的节假日日历,其中包括了一些常见的节假日。然后,我们使用CustomBusinessDay来创建一个自定义的工作日频率,将自定义的节假日日历作为参数传递给它。最后,我们通过pd.bdate_range()函数生成2021年的工作日,同时指定了节假日参数。最后,我们打印生成的日期结果。


注意:上述代码是以美国为例,如果需要生成其他地区的工作日和节假日,需要根据相应的节假日日历进行调整。

版权声明

本文仅代表作者观点,不代表博信信息网立场。

热门