パンダ: 開始日と終了日の間の営業日数を取得する
次のメソッドを使用して、パンダで営業日を取得できます。
方法 1: 営業日を取得する (すべての週末を除く)
business_days = pd. bdate_range (' 2022-01-01 ', ' 2022-12-31 ')
方法 2: 営業日を取得する (すべての週末と連邦休日を除く)
from pandas. tseries . holiday import USFederalHolidayCalendar
from pandas. tseries . offsets import CustomBusinessDay
#define US business days
us_bus = CustomBusinessDay(calendar=USFederalHolidayCalendar())
#get all business days between certain start and end dates
us_business_days = pd. bdate_range (' 2022-01-01 ', ' 2022-12-31 ', freq=us_bus)
次の例は、各メソッドを実際に使用する方法を示しています。
例 1: 営業日を取得する (すべての週末を除く)
pandas で 2 つの日付の間の営業日のリストを取得する 1 つの方法は、 bdate_range()関数を使用することです。
この関数は、週末を除いた開始日と終了日の間の日数をカウントするだけであることに注意してください。
たとえば、次の構文を使用して、2022 年 1 月 1 日から 2022 年 12 月 31 日までの営業日数をカウントできます。
import pandas as pd
#get all business days between certain start and end dates
business_days = pd. bdate_range (' 2022-01-01 ', ' 2022-12-31 ')
#view first ten business days
print (business_days[0:10])
DatetimeIndex(['2022-01-03', '2022-01-04', '2022-01-05', '2022-01-06',
'2022-01-07', '2022-01-10', '2022-01-11', '2022-01-12',
'2022-01-13', '2022-01-14'],
dtype='datetime64[ns]', freq='B')
#view total number of business days
len (business_days)
260
business_daysというオブジェクトには、指定された開始日と終了日の間の各営業日が含まれます。
len()関数を使用すると、指定された開始日と終了日の間の合計営業日数が260であることがわかります。
例 2: 営業日を取得する (すべての週末と連邦休日を除く)
週末と連邦休日の両方を除外した、パンダの 2 つの日付の間の営業日のリストを取得するには、pandas tseriesモジュール関数を使用する必要があります。
たとえば、次の構文を使用して、2022 年 1 月 1 日から 2022 年 12 月 31 日までの営業日 (週末と祝日を除くすべての日) をカウントできます。
from pandas. tseries . holiday import USFederalHolidayCalendar
from pandas. tseries . offsets import CustomBusinessDay
#define US business days
us_bus = CustomBusinessDay(calendar=USFederalHolidayCalendar())
#get all business days between certain start and end dates
us_business_days = pd. bdate_range (' 2022-01-01 ', ' 2022-12-31 ', freq=us_bus)
#view first ten business days
print (us_business_days[0:10])
DatetimeIndex(['2022-01-03', '2022-01-04', '2022-01-05', '2022-01-06',
'2022-01-07', '2022-01-10', '2022-01-11', '2022-01-12',
'2022-01-13', '2022-01-14'],
dtype='datetime64[ns]', freq='C')
#view total number of business days
len (us_business_days)
250
us_business_daysというオブジェクトには、指定された開始日と終了日の間のすべての営業日 (週末と休日を除くすべての日) が含まれます。
len()関数を使用すると、指定された開始日と終了日の間の合計営業日数が250であることがわかります。
追加リソース
次のチュートリアルでは、パンダで他の一般的な操作を実行する方法を説明します。
Pandas で日付に日数を加算および減算する方法
Pandas で DateTime を日付に変換する方法
Pandasで日付から月を抽出する方法