パンダは、平日と祝日をどのように生成しますか?

パンダは、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年の営業日を生成し、同時に祝日のパラメータも指定します。最後に、生成された日付の結果を出力します。

注意:上記のコードはアメリカを例にしていますので、他の地域の平日や祝日を生成する場合には、対応する祝日カレンダーに基づいて調整する必要があります。

bannerAds