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