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

Python Pandas入門:DatetimeIndexオブジェクトの頻度を検出する方法

Pandasで作成した DatetimeIndex オブジェクトの頻度(freq)を自動的に検出したい場合は、inferred_freq プロパティを使用します。このプロパティは、インデックスに含まれる日付データの規則性を解析し、その頻度を文字列として返してくれます。

必要なライブラリのインポート

まず、Pandasをインポートします。

import pandas as pd

DatetimeIndexの作成

次に、期間を5、頻度を「3Y」(3年ごと)としてDatetimeIndexを作成します。タイムゾーンにはオーストラリアの「Australia/Adelaide」を指定しています。

datetimeindex = pd.date_range('2021-10-30 02:30:50', periods=5, tz='Australia/Adelaide', freq='3Y')

DatetimeIndexと頻度の表示

作成したDatetimeIndexを表示します。

print("DateTimeIndex...\n", datetimeindex)

続いて、DatetimeIndexに設定されている頻度を表示します。

print("\nDateTimeIndex frequency...\n", datetimeindex.freq)

サンプルコード全体

以下に、ここまでの手順をまとめた完全なコード例を示します。

import pandas as pd

# 期間5、頻度3Y(3年ごと)のDatetimeIndexを作成
# タイムゾーンは Australia/Adelaide を指定
datetimeindex = pd.date_range('2021-10-30 02:30:50', periods=5, tz='Australia/Adelaide', freq='3Y')

# DatetimeIndexを表示
print("DateTimeIndex...\n", datetimeindex)

# DatetimeIndexの頻度を表示
print("\nDateTimeIndex frequency...\n", datetimeindex.freq)

# 頻度を検出(推論)
print("\nInferred DateTimeIndex frequency...\n", datetimeindex.inferred_freq)

実行結果

上記のコードを実行すると、次のような出力が得られます。

DateTimeIndex...
DatetimeIndex(['2021-12-31 02:30:50+10:30', '2024-12-31 02:30:50+10:30',
'2027-12-31 02:30:50+10:30', '2030-12-31 02:30:50+10:30',
'2033-12-31 02:30:50+10:30'],
dtype='datetime64[ns, Australia/Adelaide]', freq='3A-DEC')
DateTimeIndex frequency...
<3 * YearEnds: month=12>

Inferred DateTimeIndex frequency...
3A-DEC

ポイント解説

freq プロパティは、明示的に設定された頻度をそのまま返します。一方、inferred_freq プロパティは、インデックス内の日付間隔を解析して頻度を推論します。この例では、どちらも「3A-DEC」(12月末を基準とした3年周期)という同じ結果になっています。

なお、日付が不規則な場合や要素数が2未満の場合など、頻度を推論できないときは inferred_freq は None を返す点に注意してください。

  1. 【Pandas入門】DateTimeIndexから頻度(freq)を抽出する方法

    Pandasで日時インデックス(DateTimeIndex)から頻度を抽出するには、DateTimeIndex.freq プロパティを使用します。この記事では、実際のコード例を通じて、その使い方をわかりやすく解説します。 必要なライブラリのインポート まず、必要なライブラリをインポートします。 import pandas as pd DateTimeIndexの作成 次に、期間6・頻度「D」(日単位)でDatetimeIndexを作成します。タイムゾーンはオーストラリアのアデレード(Australia/Adelaide)を指定します。 datetimeindex = pd.date_ran

  2. Python Pandas入門:指定したPeriodオブジェクトの頻度(freq)を取得する方法

    Pandasで指定されたPeriodオブジェクトの頻度を取得するには、period.freqプロパティを使用します。このプロパティを参照することで、そのPeriodオブジェクトがどの時間単位(秒・分・時など)に基づいているのかを簡単に確認できます。必要なライブラリのインポートまず、必要なライブラリをインポートします。import pandas as pdPeriodオブジェクトの作成pandas.Periodは、特定の期間(時間の区間)を表すオブジェクトです。ここでは、2つのPeriodオブジェクトを作成してみましょう。period1 = pd.Period(2020-09-23 03:55: