Python Pandas – 指定したBusinessHourオブジェクトに適用されたキーワード引数(kwds)を表示する方法
Pandasで、指定したBusinessHourオブジェクトに適用されたキーワード引数を確認したい場合は、BusinessHour.kwdsプロパティを使用します。このプロパティは、オフセット作成時に渡されたstartやendなどの引数情報を辞書形式で返してくれます。
必要なライブラリのインポート
まず、必要なライブラリをインポートします。
import pandas as pd
BusinessHourオフセットの作成
次に、BusinessHourオフセットを作成します。startにはカスタム営業時間の開始時刻を24時間形式で、endには終了時刻を24時間形式で指定します。
bhOffset = pd.tseries.offsets.BusinessHour(start="09:30", end="18:00")
タイムスタンプの設定
Pandasでタイムスタンプオブジェクトを設定します。
timestamp = pd.Timestamp('2021-1-1 01:55:30')更新後のタイムスタンプの表示
BusinessHourオフセットを適用した後のタイムスタンプを表示します。
print("\nUpdated Timestamp...\n", timestamp + bhOffset)キーワード引数の表示
kwdsプロパティを使って、キーワード引数を表示します。
print("\nKeyword arguments on the given BusinessHour Offset...\n", bhOffset.kwds)サンプルコード全体
以下が完全なコード例です。
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("\nFrequency applied on the given BusinessHour Offset object...\n", bhOffset.freqstr)
# キーワード引数を表示
print("\nKeyword arguments on the given BusinessHour Offset...\n", bhOffset.kwds)実行結果
上記のコードを実行すると、以下のような出力が得られます。
Timestamp...
2021-01-01 01:55:30
BusinessHour Offset...
<BusinessHour: BH=09:30-18:00>
Updated Timestamp...
2021-01-01 10:30:00
Frequency applied on the given BusinessHour Offset object...
BH
Keyword arguments on the given BusinessHour Offset...
{'start': (datetime.time(9, 30),), 'end': (datetime.time(18, 0),), 'offset': datetime.timedelta(0)}解説
実行結果からわかるように、kwdsプロパティは辞書形式で以下の情報を返します。
- start: 営業開始時刻(この例では9時30分)
- end: 営業終了時刻(この例では18時00分)
- offset: 追加のタイムデルタオフセット(デフォルトは0)
また、タイムスタンプ「2021-01-01 01:55:30」にBusinessHourオフセットを適用すると、営業時間内の最初の時点である「2021-01-01 10:30:00」にロールフォワードされる点にも注目してください。これは、指定した時刻が営業時間外(午前1時55分)だったためです。
-
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