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

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を活用すると、時系列データの期間ベースの操作を効率的に行うことができます。

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

    Pandasで作成した DatetimeIndex オブジェクトの頻度(freq)を自動的に検出したい場合は、inferred_freq プロパティを使用します。このプロパティは、インデックスに含まれる日付データの規則性を解析し、その頻度を文字列として返してくれます。必要なライブラリのインポートまず、Pandasをインポートします。import pandas as pdDatetimeIndexの作成次に、期間を5、頻度を「3Y」(3年ごと)としてDatetimeIndexを作成します。タイムゾーンにはオーストラリアの「Australia/Adelaide」を指定しています。datetimei

  2. Python Pandas入門:rangeオブジェクトからRangeIndexを作成する方法

    PandasでrangeオブジェクトからRangeIndexを作成するには、pd.RangeIndex.from_range(range())メソッドを使用します。このメソッドを使うと、Python標準のrangeオブジェクトをそのままインデックスとして変換できるため、連続した数値インデックスを簡単に生成できます。必要なライブラリのインポートまず、必要なライブラリをインポートします。import pandas as pdRangeIndexの作成次に、rangeオブジェクトを指定してRangeIndexを作成します。ここでは、10から30までの範囲を持つrangeオブジェクトを使用しています。