Python Pandas入門:CustomBusinessDayオブジェクトのkwdsプロパティでキーワード引数を確認する方法
Pandasで指定したCustomBusinessDayオブジェクトに適用されているキーワード引数を表示するには、CustomBusinessDay.kwdsプロパティを使用します。このプロパティを使うことで、営業日の設定(weekmask)や休日(holidays)、カレンダー、オフセットなどの情報を辞書形式で簡単に確認できます。
必要なライブラリのインポート
まず、必要なライブラリをインポートします。
import pandas as pd
タイムスタンプの作成
Pandasでタイムスタンプオブジェクトを設定します。
timestamp = pd.Timestamp('2021-12-31 08:35:10')CustomBusinessDayオフセットの作成
次に、CustomBusinessDayオフセットを作成します。ここでは、営業日を「月・火・水・金」に限定し、2営業日分のオフセットを設定しています。
cbdOffset = pd.tseries.offsets.CustomBusinessDay(n = 2, weekmask = 'Mon Tue Wed Fri')
オフセットの適用と結果の表示
タイムスタンプにオフセットを加算し、更新後のタイムスタンプを表示します。
print("\nUpdated Timestamp...\n",timestamp + cbdOffset)キーワード引数の表示
最後に、kwdsプロパティでキーワード引数を表示します。
print("\nKeyword arguments on the given CustomBusinessDay Offset...\n",cbdOffset.kwds)サンプルコード全体
以下が完全なコード例です。
import pandas as pd
# Pandasでタイムスタンプオブジェクトを設定
timestamp = pd.Timestamp('2021-12-31 08:35:10')
# タイムスタンプを表示
print("Timestamp...\n",timestamp)
# CustomBusinessDayオフセットを作成
# CustomBusinessDayは、祝日を除く独自の営業日を表すDateOffsetのサブクラス
# 有効な営業日のweekmaskを指定
cbdOffset = pd.tseries.offsets.CustomBusinessDay(n = 2, weekmask = 'Mon Tue Wed Fri')
# CustomBusinessDayオフセットを表示
print("\nCustomBusinessDay Offset...\n",cbdOffset)
# タイムスタンプにオフセットを加算し、更新後のタイムスタンプを表示
print("\nUpdated Timestamp...\n",timestamp + cbdOffset)
# 適用されている頻度を文字列として返す
print("\nFrequency applied on the given CustomBusinessDay Offset object...\n",cbdOffset.freqstr)
# キーワード引数を表示
print("\nKeyword arguments on the given CustomBusinessDay Offset...\n",cbdOffset.kwds)実行結果
上記のコードを実行すると、以下のような出力が得られます。
Timestamp...
2021-12-31 08:35:10
CustomBusinessDay Offset...
<2 * CustomBusinessDays>
Updated Timestamp...
2022-01-04 08:35:10
Frequency applied on the given CustomBusinessDay Offset object...
2C
Keyword arguments on the given CustomBusinessDay Offset...
{'weekmask': 'Mon Tue Wed Fri', 'holidays': (), 'calendar': <numpy.busdaycalendar object at 0x00000134D22E5FC0>, 'offset': datetime.timedelta(0)}解説
実行結果からわかるように、kwdsプロパティは以下の4つのキーワード引数を辞書形式で返します。
- weekmask: 有効な営業日の曜日指定(ここでは「Mon Tue Wed Fri」=月・火・水・金)
- holidays: 除外する休日のリスト(ここでは空のタプル)
- calendar: numpy.busdaycalendarオブジェクト
- offset: 時間的なオフセット(ここでは0秒)
また、元のタイムスタンプ「2021-12-31」(金曜日)に2営業日のオフセットを適用すると、「2022-01-04」(火曜日)になっています。これは、土曜と日曜がweekmaskによって営業日から除外されているためです。freqstrプロパティの出力「2C」は、2営業日分のカスタム頻度が適用されていることを示しています。
-
Python Pandas – 指定されたDateOffsetオブジェクトのナノ秒数を取得する方法
Pandasで指定されたDateOffsetオブジェクトに含まれるナノ秒数を取得するには、offset.nanosプロパティを使用します。このプロパティは、オフセットが固定長(ナノ秒で表現可能な期間)である場合に、そのナノ秒数を整数値として返します。必要なライブラリのインポートまず、必要なライブラリをインポートします。from pandas.tseries.frequencies import to_offset import pandas as pdタイムスタンプの作成Pandasでタイムスタンプオブジェクトを設定します。timestamp = pd.Timestamp(2021-08-30
-
Python Pandas – 指定されたDateOffsetオブジェクトに適用される頻度を文字列として取得する方法
指定された DateOffset オブジェクトに適用されている頻度を文字列として取得するには、Pandas の offset.freqstr プロパティを使用します。このプロパティを使うことで、DateOffset オブジェクトに設定された頻度の情報を簡単に確認できます。必要なライブラリのインポートまず、必要なライブラリをインポートします。from pandas.tseries.offsets import DateOffset import pandas as pdタイムスタンプオブジェクトの設定Pandas でタイムスタンプオブジェクトを設定します。timestamp = pd.Times