Python
 Computer >> コンピューター >  >> プログラミング >> Python

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営業日分のカスタム頻度が適用されていることを示しています。

  1. 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

  2. Python Pandas – 指定されたDateOffsetオブジェクトに適用される頻度を文字列として取得する方法

    指定された DateOffset オブジェクトに適用されている頻度を文字列として取得するには、Pandas の offset.freqstr プロパティを使用します。このプロパティを使うことで、DateOffset オブジェクトに設定された頻度の情報を簡単に確認できます。必要なライブラリのインポートまず、必要なライブラリをインポートします。from pandas.tseries.offsets import DateOffset import pandas as pdタイムスタンプオブジェクトの設定Pandas でタイムスタンプオブジェクトを設定します。timestamp = pd.Times