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

Python Pandas入門:特定の時系列頻度でDateTimeIndexから年を抽出する方法

特定の時系列頻度を持つDateTimeIndexから「年」を抽出するには、DateTimeIndex.yearプロパティを使用します。このプロパティにアクセスすると、インデックス内の各日付の年が整数値として返され、時系列データの集計やフィルタリングに活用できます。

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

まず、必要なライブラリをインポートします。

import pandas as pd

DateTimeIndexの作成

期間(periods)を6、頻度(freq)を「Y」つまり年単位に設定し、タイムゾーンをオーストラリア/シドニーに指定したDatetimeIndexを作成します。

datetimeindex = pd.date_range('2021-09-24 02:35:55', periods=6, tz='Australia/Sydney', freq='Y')

作成したDateTimeIndexを表示してみましょう。

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

年の取得

yearプロパティを呼び出すだけで、各日付の年を取得できます。

print("\nGetting the year name..\n", datetimeindex.year)

コード例全体

以下に完全なコードを示します。

import pandas as pd

# 期間6・頻度Y(年単位)・タイムゾーンはAustralia/SydneyでDatetimeIndexを作成
datetimeindex = pd.date_range('2021-09-24 02:35:55', periods=6, tz='Australia/Sydney', freq='Y')

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

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

# 年を取得して表示
print("\nGetting the year name..\n", datetimeindex.year)

実行結果

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

DateTimeIndex...
DatetimeIndex(['2021-12-31 02:35:55+11:00', '2022-12-31 02:35:55+11:00',
               '2023-12-31 02:35:55+11:00', '2024-12-31 02:35:55+11:00',
               '2025-12-31 02:35:55+11:00', '2026-12-31 02:35:55+11:00'],
               dtype='datetime64[ns, Australia/Sydney]', freq='A-DEC')
DateTimeIndex frequency...
   <YearEnd: month=12>

Getting the year name..
   Int64Index([2021, 2022, 2023, 2024, 2025, 2026], dtype='int64')

補足ポイント

頻度「Y」は、年末(12月31日)を基準とする年次頻度(A-DEC)として解釈されます。そのため、開始日が9月24日であっても、生成される最初の日付は同年の12月31日に丸められる点に注意してください。

また、比較的新しいバージョンのPandasでは、頻度のエイリアス「Y」は非推奨(deprecated)となっており、代わりに「YE」を使用することが推奨されています。さらに、戻り値のInt64Indexも近年のバージョンでは通常のIndexに統合されています。古いコードを保守する際は、これらの仕様変更に留意しておくとよいでしょう。

  1. Python Pandas – 特定の時系列頻度でDateTimeIndexから分を抽出する方法

    特定の時系列頻度で作成した DateTimeIndex から「分(minute)」を抽出するには、DateTimeIndex.minute プロパティを使用します。このプロパティは、インデックス内の各日時に対応する分の値を Int64 型の配列として返します。 必要なライブラリをインポートする まず、pandas をインポートします。 import pandas as pd DateTimeIndex を作成する 次に、期間(periods)を 6、頻度(freq)を T(=分単位)とし、タイムゾーンをオーストラリア/シドニー(Australia/Sydney)に設定した DatetimeI

  2. Python Pandas入門:特定の時系列頻度でDateTimeIndexから時間(hour)を抽出する方法

    特定の時系列頻度を持つ DateTimeIndex から時間(hour)を抽出したい場合は、DateTimeIndex.hour プロパティを使用します。このプロパティを使うことで、日時インデックスに含まれる各タイムスタンプの「時」の部分だけを簡単に取り出すことができます。必要なライブラリのインポートまず、必要なライブラリをインポートしましょう。import pandas as pdDateTimeIndexの作成次に、開始時刻「2021-10-20 02:35:55」から始まる、期間6・頻度「H」(時間単位)の DatetimeIndex を作成します。タイムゾーンはオーストラリアのシドニー