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

Python Pandas入門:DateTimeIndex.dayプロパティで特定の時系列頻度の日付データから「日」を抽出する方法

はじめに

PythonのPandasライブラリでは、時系列データを扱う際にDateTimeIndexが非常に便利です。この記事では、特定の時系列頻度(ここでは日次「D」)を持つDateTimeIndexから、dayプロパティを使って「日」の部分だけを抽出する方法を解説します。

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

まず、Pandasをインポートします。

import pandas as pd

DateTimeIndexの作成

次に、pd.date_range()関数を使ってDateTimeIndexを作成します。今回は以下の条件を設定します。

  • 開始日時:2021-10-20 02:35:55
  • 期間(periods):6
  • 頻度(freq):D(日次)
  • タイムゾーン:Australia/Sydney
datetimeindex = pd.date_range('2021-10-20 02:35:55', periods=6, tz='Australia/Sydney', freq='D')

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

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

「日」を抽出する

DateTimeIndexの.dayプロパティにアクセスすると、各日付から「日」の数値のみを取得できます。

print("\nGetting the day..\n", datetimeindex.day)

完全なサンプルコード

以下に、これまでの手順をまとめたコード全体を示します。

import pandas as pd

# 期間6・頻度D(日次)のDatetimeIndexを作成
# タイムゾーンはAustralia/Sydney
datetimeindex = pd.date_range('2021-10-20 02:35:55', periods=6, tz='Australia/Sydney', freq='D')

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

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

# 「日」を取得して表示
print("\nGetting the day..\n", datetimeindex.day)

実行結果

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

DateTimeIndex...
DatetimeIndex(['2021-10-20 02:35:55+11:00', '2021-10-21 02:35:55+11:00',
               '2021-10-22 02:35:55+11:00', '2021-10-23 02:35:55+11:00',
               '2021-10-24 02:35:55+11:00', '2021-10-25 02:35:55+11:00'],
               dtype='datetime64[ns, Australia/Sydney]', freq='D')
DateTimeIndex frequency...
   <Day>

Getting the day..
   Int64Index([20, 21, 22, 23, 24, 25], dtype='int64')

まとめ

このように、DateTimeIndex.dayプロパティを使えば、タイムゾーン付きの時系列インデックスから簡単に「日」の情報を抽出できます。同様に.year.monthなどのプロパティも用意されているため、年月日の各要素を柔軟に取り出すことが可能です。時系列データの分析や前処理において、ぜひ活用してみてください。

  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 を作成します。タイムゾーンはオーストラリアのシドニー