Python PandasでPeriodIndexを作成し、頻度を設定する方法
PythonのPandasライブラリでPeriodIndex(期間インデックス)を作成するには、pandas.PeriodIndex()メソッドを使用します。また、頻度(周期)を設定するにはfreqパラメータを指定します。
まず、必要なライブラリをインポートしましょう。
import pandas as pd
次に、PeriodIndexオブジェクトを作成します。PeriodIndexは、時間軸上の一定の期間を示す序数値を保持する不変(イミュータブル)なndarrayです。ここでは「freq」パラメータを使って頻度を設定しています。
periodIndex = pd.PeriodIndex(['2021-09-25', '2020-10-30', '2020-11-20'], freq="D")
作成したPeriodIndexオブジェクトを表示してみましょう。
print("PeriodIndex...\n", periodIndex)サンプルコード
以下が完全なコード例です。
import pandas as pd
# PeriodIndexオブジェクトを作成
# PeriodIndexは、時間軸上の一定の期間を示す序数値を保持する不変のndarray
# 「freq」パラメータで頻度を設定
periodIndex = pd.PeriodIndex(['2021-09-25', '2020-10-30', '2020-11-20'], freq="D")
# PeriodIndexオブジェクトを表示
print("PeriodIndex...\n", periodIndex)
# PeriodIndexから「日」の情報を取得して表示
print("\nPeriodIndexから取得した日の値...\n", periodIndex.day)実行結果
上記のコードを実行すると、以下のような出力が得られます。
PeriodIndex... PeriodIndex(['2021-09-25', '2020-10-30', '2020-11-20'], dtype='period[D]') PeriodIndexから取得した日の値... Int64Index([25, 30, 20], dtype='int64')
解説
この例では、freqパラメータに"D"(日単位)を指定しているため、各日付が1日ごとの期間として扱われます。freqには他にも"M"(月単位)、"Y"(年単位)、"H"(時間単位)など、さまざまな頻度文字列を指定できます。
また、periodIndex.dayプロパティにアクセスすることで、PeriodIndex内の各期間から「日」の値だけを抽出できることが確認できます。このようにPeriodIndexを活用すると、時系列データの期間ベースの操作を効率的に行うことができます。
-
Python Pandas入門:DatetimeIndexオブジェクトの頻度を検出する方法
Pandasで作成した DatetimeIndex オブジェクトの頻度(freq)を自動的に検出したい場合は、inferred_freq プロパティを使用します。このプロパティは、インデックスに含まれる日付データの規則性を解析し、その頻度を文字列として返してくれます。必要なライブラリのインポートまず、Pandasをインポートします。import pandas as pdDatetimeIndexの作成次に、期間を5、頻度を「3Y」(3年ごと)としてDatetimeIndexを作成します。タイムゾーンにはオーストラリアの「Australia/Adelaide」を指定しています。datetimei
-
Python Pandas入門:rangeオブジェクトからRangeIndexを作成する方法
PandasでrangeオブジェクトからRangeIndexを作成するには、pd.RangeIndex.from_range(range())メソッドを使用します。このメソッドを使うと、Python標準のrangeオブジェクトをそのままインデックスとして変換できるため、連続した数値インデックスを簡単に生成できます。必要なライブラリのインポートまず、必要なライブラリをインポートします。import pandas as pdRangeIndexの作成次に、rangeオブジェクトを指定してRangeIndexを作成します。ここでは、10から30までの範囲を持つrangeオブジェクトを使用しています。