Python Pandas:BusinessHourオブジェクトのルールコードを取得する方法
指定した BusinessHour オブジェクトに適用されているルールコードを取得するには、Pandas の rule_code プロパティを使用します。このプロパティは、オフセットが表す頻度(frequency)のコードを文字列として返します。
必要なライブラリのインポート
まず、必要なライブラリをインポートします。
import pandas as pd
タイムスタンプの作成
Pandas でタイムスタンプオブジェクトを作成します。
timestamp = pd.Timestamp('2021-1-1 01:55:30')BusinessHour オフセットの作成
次に、BusinessHour オフセットを作成します。BusinessHour は DateOffset のサブクラスです。
- start:カスタム営業時間の開始時刻(24時間形式)
- end:カスタム営業時間の終了時刻(24時間形式)
bhOffset = pd.tseries.offsets.BusinessHour(start="09:30", end="18:00")
更新後のタイムスタンプの表示
タイムスタンプに BusinessHour オフセットを加算した結果を表示します。
print("\nUpdated Timestamp...\n", timestamp + bhOffset)ルールコードの取得
BusinessHour オフセットに適用されている頻度のルールコードを返します。
print("\nThe rule code of the BusinessHour object..\n", bhOffset.rule_code)完全なサンプルコード
以下は、ここまでの手順をまとめた完全なコード例です。
import pandas as pd
# Pandasでタイムスタンプオブジェクトを作成
timestamp = pd.Timestamp('2021-1-1 01:55:30')
# タイムスタンプを表示
print("Timestamp...\n", timestamp)
# BusinessHourオフセットを作成
# BusinessHourはDateOffsetのサブクラス
# "start"はカスタム営業時間の開始時刻(24時間形式)
# "end"はカスタム営業時間の終了時刻(24時間形式)
bhOffset = pd.tseries.offsets.BusinessHour(start="09:30", end="18:00")
# BusinessHourオフセットを表示
print("\nBusinessHour Offset...\n", bhOffset)
# 更新後のタイムスタンプを表示
print("\nUpdated Timestamp...\n", timestamp + bhOffset)
# 指定したBusinessHourオフセットに適用された頻度のルールコードを返す
print("\nThe rule code of the BusinessHour object..\n", bhOffset.rule_code)実行結果
上記のコードを実行すると、以下の出力が得られます。
Timestamp... 2021-01-01 01:55:30 BusinessHour Offset... <BusinessHour: BH=09:30-18:00> Updated Timestamp... 2021-01-01 10:30:00 The rule code of the BusinessHour object.. BH
解説
実行結果から、以下のことが確認できます。
- 元のタイムスタンプ「2021-01-01 01:55:30」は営業時間外のため、オフセットを加算すると営業開始時刻である「10:30」に移動します。これは、オフセット加算時に翌営業日の開始時刻へロールフォワードされるためです。
rule_codeプロパティは「BH」という文字列を返します。これは BusinessHour 頻度を表す標準的なエイリアスです。
このように rule_code を使うことで、オフセットオブジェクトがどの頻度ルールに基づいているかをプログラム的に確認でき、頻度文字列が必要な処理(リサンプリングや日付範囲の生成など)で活用できます。
-
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