Python Pandas入門:DateOffsetオブジェクトに適用されたルールコードを取得する方法
Pandasで指定された DateOffset オブジェクトに適用されている頻度(frequency)のルールコードを確認するには、offset.rule_code 属性を使用します。この属性を参照することで、そのオフセットがどの頻度ルールに基づいているかを文字列として簡単に取得できます。
まず、必要なライブラリをインポートしましょう。
from pandas.tseries.frequencies import to_offset import pandas as pd
タイムスタンプの作成
Pandasでタイムスタンプオブジェクトを作成します。
timestamp = pd.Timestamp('2021-09-26 03:25:02.000045')DateOffsetの生成
次に、to_offset() を使って DateOffset オブジェクトを作成します。ここでは「M」(月末)頻度を指定し、3ヶ月単位のオフセットを生成しています。
offset = to_offset("3M")このオフセットをタイムスタンプに加算すると、日付が3ヶ月後の月末に移動します。更新されたタイムスタンプを表示してみましょう。
print("\nUpdated Timestamp...\n", timestamp + offset)ルールコードの取得
最後に、指定された DateOffset オブジェクトに適用されている頻度のルールコードを返します。
print("\nThe rule code of the DateOffset object..\n", offset.rule_code)完全なサンプルコード
以下に、ここまでの手順をまとめた完全なコード例を示します。
from pandas.tseries.frequencies import to_offset
import pandas as pd
# タイムスタンプオブジェクトを作成
timestamp = pd.Timestamp('2021-09-26 03:25:02.000045')
# タイムスタンプを表示
print("Timestamp...\n", timestamp)
# DateOffsetを作成(「M」頻度で月を加算)
offset = to_offset("3M")
# DateOffsetを表示
print("\nDateOffset...\n", offset)
# 更新されたタイムスタンプを表示
print("\nUpdated Timestamp...\n", timestamp + offset)
# DateOffsetオブジェクトに適用された頻度のルールコードを返す
print("\nThe rule code of the DateOffset object..\n", offset.rule_code)実行結果
上記のコードを実行すると、以下のような出力が得られます。
Timestamp... 2021-09-26 03:25:02.000045 DateOffset... <3 * MonthEnds> Updated Timestamp... 2021-11-30 03:25:02.000045 The rule code of the DateOffset object.. M
解説と補足
出力結果から分かるように、元のタイムスタンプ「2021-09-26」に3ヶ月のオフセットを適用すると、「2021-11-30」という11月末の日付に変換されています。これは「M」頻度が各月の末日(MonthEnd)に基づいて動作するためです。
また、offset.rule_code の戻り値は「M」となっており、DateOffsetオブジェクトが月次(MonthEnd)頻度のルールに従っていることが確認できます。
注意: Pandas 2.2以降では、月末を表す頻度エイリアス「M」は非推奨となり、代わりに「ME」(Month End)の使用が推奨されています。新しいバージョンで同様のコードを書く場合は to_offset("3ME") のように指定してください。
-
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