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

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") のように指定してください。

  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