パンダは、平日と祝日をどのように生成しますか?
パンダは、pandas.bdate_range()関数を使用して、営業日を生成し、カスタムカレンダーパラメータを使用して休日を生成することができます。
Pandasを使用して2021年の平日とカスタムの休日を生成する方法を示す例です。
import pandas as pd
from pandas.tseries.holiday import AbstractHolidayCalendar, Holiday, nearest_workday, USMartinLutherKingJr, USPresidentsDay, GoodFriday, USMemorialDay, USLaborDay, USThanksgivingDay, USChristmasDay
from pandas.tseries.offsets import CustomBusinessDay
# 自定义节假日日历
class CustomCalendar(AbstractHolidayCalendar):
rules = [
Holiday('New Year', month=1, day=1),
Holiday('Independence Day', 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年の営業日を生成し、同時に祝日のパラメータも指定します。最後に、生成された日付の結果を出力します。
注意:上記のコードはアメリカを例にしていますので、他の地域の平日や祝日を生成する場合には、対応する祝日カレンダーに基づいて調整する必要があります。