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

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 を使うことで、オフセットオブジェクトがどの頻度ルールに基づいているかをプログラム的に確認でき、頻度文字列が必要な処理(リサンプリングや日付範囲の生成など)で活用できます。

  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