Python Pandas入門:BusinessDayオブジェクトのrule_codeプロパティでルールコードを取得する方法
指定した BusinessDay オブジェクトに適用されているルールコードを取得するには、Pandas の BusinessDay.rule_code プロパティを使用します。このプロパティは、オフセットに設定された頻度(frequency)を表す文字列のコードを返します。
必要なライブラリのインポート
まず、必要なライブラリをインポートします。
import datetime import pandas as pd
タイムスタンプの作成
Pandas でタイムスタンプオブジェクトを作成します。
timestamp = pd.Timestamp('2021-10-30 01:55:02.000045')BusinessDay オフセットの作成
次に、BusinessDay オフセットを作成します。BusinessDay は DateOffset のサブクラスであり、営業日ベースの日付計算に使用されます。ここでは、オフセットとして8時間10分を指定しています。
bdOffset = pd.tseries.offsets.BusinessDay(offset = datetime.timedelta(hours = 8, minutes = 10))
更新後のタイムスタンプの表示
BusinessDay オフセットを適用した後のタイムスタンプを表示します。
print("\nUpdated Timestamp...\n", timestamp + bdOffset)ルールコードの取得
指定した BusinessDay オフセットに適用されている頻度のルールコードを返します。
print("\nThe rule code of the BusinessDay object..\n", bdOffset.rule_code)完全なコード例
以下に、ここまでの手順をまとめた完全なコードを示します。
import datetime
import pandas as pd
# Pandasでタイムスタンプオブジェクトを設定
timestamp = pd.Timestamp('2021-10-30 01:55:02.000045')
# タイムスタンプを表示
print("Timestamp...\n", timestamp)
# BusinessDayオフセットを作成
# BusinessDayはDateOffsetのサブクラス
bdOffset = pd.tseries.offsets.BusinessDay(offset = datetime.timedelta(hours = 8, minutes = 10))
# BusinessDayオフセットを表示
print("\nBusinessDay Offset...\n", bdOffset)
# 更新後のタイムスタンプを表示
print("\nUpdated Timestamp...\n", timestamp + bdOffset)
# 指定したBusinessDayオフセットに適用された頻度を文字列として返す
print("\nFrequency on the given BusinessDay Offset...\n", bdOffset.freqstr)
# 指定したBusinessDayオフセットに適用された頻度のルールコードを返す
print("\nThe rule code of the BusinessDay object..\n", bdOffset.rule_code)実行結果
上記のコードを実行すると、以下の出力が得られます。
Timestamp... 2021-10-30 01:55:02.000045 BusinessDay Offset... <BusinessDay: offset=datetime.timedelta(seconds=29400)> Updated Timestamp... 2021-11-01 10:05:02.000045 Frequency on the given BusinessDay Offset... B+8H10Min The rule code of the BusinessDay object.. B
解説
実行結果から、以下のポイントが確認できます。
- タイムスタンプの更新: 元のタイムスタンプ「2021-10-30」は土曜日だったため、BusinessDay オフセットを加算すると、次の営業日である「2021-11-01(月曜日)」に移動し、そこに8時間10分が加算されています。
- freqstr プロパティ: 適用された頻度を文字列「B+8H10Min」として返します。「B」は営業日(Business Day)を意味します。
- rule_code プロパティ: 頻度の基本となるルールコード「B」のみを返します。追加のオフセット情報(時間・分)は含まれません。
このように、rule_code プロパティを使うことで、BusinessDay オブジェクトに設定された頻度の種類を簡潔なコード形式で確認できます。
-
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