【Pandas入門】DateTimeIndexから頻度(freq)を抽出する方法
Pandasで日時インデックス(DateTimeIndex)から頻度を抽出するには、DateTimeIndex.freq プロパティを使用します。この記事では、実際のコード例を通じて、その使い方をわかりやすく解説します。
必要なライブラリのインポート
まず、必要なライブラリをインポートします。
import pandas as pd
DateTimeIndexの作成
次に、期間6・頻度「D」(日単位)でDatetimeIndexを作成します。タイムゾーンはオーストラリアのアデレード(Australia/Adelaide)を指定します。
datetimeindex = pd.date_range('2021-10-20 02:30:50', periods=6, tz='Australia/Adelaide', freq='D')
pd.date_range() の主な引数は以下の通りです。
- start:開始日時
- periods:生成する日時の個数
- tz:タイムゾーンの指定
- freq:頻度('D' は日ごと、'H' は時間ごとなどを指定可能)
DateTimeIndexと頻度の表示
作成したDateTimeIndexを表示します。
print("DateTimeIndex...\n", datetimeindex)
続いて、freq プロパティを使って頻度を表示します。
print("DateTimeIndex frequency...\n", datetimeindex.freq)
サンプルコード全体
以下が完全なコード例です。
import pandas as pd
# 期間6・頻度D(日単位)のDatetimeIndexを作成
# タイムゾーンはAustralia/Adelaideを指定
datetimeindex = pd.date_range('2021-10-20 02:30:50', periods=6, tz='Australia/Adelaide', freq='D')
# DateTimeIndexを表示
print("DateTimeIndex...\n", datetimeindex)
# DateTimeIndexの頻度を表示
print("DateTimeIndex frequency...\n", datetimeindex.freq)
実行結果
上記のコードを実行すると、以下の出力が得られます。
DateTimeIndex... DatetimeIndex(['2021-10-20 02:30:50+10:30', '2021-10-21 02:30:50+10:30', '2021-10-22 02:30:50+10:30', '2021-10-23 02:30:50+10:30', '2021-10-24 02:30:50+10:30', '2021-10-25 02:30:50+10:30'], dtype='datetime64[ns, Australia/Adelaide]', freq='D') DateTimeIndex frequency... <Day>
まとめ
出力結果からわかるように、datetimeindex.freq を参照することで <Day> という頻度オブジェクトが取得できました。これは、DateTimeIndexが「日単位」の間隔で生成されていることを示しています。なお、freq_str プロパティを使えば、文字列形式(この場合は 'D')で頻度を取得することも可能です。時系列データの分析では、インデックスの頻度を確認することはリサンプリングやシフト操作などの前処理において重要なポイントとなります。
-
Python Pandas入門:特定の時系列頻度でDateTimeIndexから時間(hour)を抽出する方法
特定の時系列頻度を持つ DateTimeIndex から時間(hour)を抽出したい場合は、DateTimeIndex.hour プロパティを使用します。このプロパティを使うことで、日時インデックスに含まれる各タイムスタンプの「時」の部分だけを簡単に取り出すことができます。必要なライブラリのインポートまず、必要なライブラリをインポートしましょう。import pandas as pdDateTimeIndexの作成次に、開始時刻「2021-10-20 02:35:55」から始まる、期間6・頻度「H」(時間単位)の DatetimeIndex を作成します。タイムゾーンはオーストラリアのシドニー
-
Python Pandas:Indexオブジェクトから相対度数を取得する方法
PandasのIndexオブジェクトから相対度数(出現割合)を求めるには、index.value_counts()メソッドを使用し、パラメータnormalizeをTrueに設定します。normalize=Trueを指定すると、各値の出現回数が全体の合計で正規化され、0〜1の範囲の相対度数として返されます。 必要なライブラリのインポート まず、必要なライブラリをインポートします。 import pandas as pd Pandasインデックスの作成 次に、PandasのIndexオブジェクトを作成します。 index = pd.Index([50, 10, 70, 110, 90, 50, 1