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

Python Pandas入門:DateTimeIndexからタイムゾーン情報を取得する方法(tzプロパティの使い方)

Pandasで特定の時系列頻度を持つ DateTimeIndex からタイムゾーンを抽出したい場合は、DateTimeIndex.tz プロパティを使用します。このプロパティを参照するだけで、インデックスに設定されているタイムゾーン情報を簡単に確認できます。

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

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

import pandas as pd

DatetimeIndexの作成

次に、期間6・頻度「D」(日単位)でDatetimeIndexを作成します。タイムゾーンには「Australia/Sydney」を指定します。

datetimeindex = pd.date_range('2021-10-20 02:30:50', periods=6, tz='Australia/Sydney', freq='D')

DateTimeIndexの表示とタイムゾーンの取得

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

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

続いて、tz プロパティを使ってタイムゾーンを取得します。

print("\nGet the timezone..\n", datetimeindex.tz)

サンプルコード全体

以下が完全なコード例です。

import pandas as pd

# 期間6、頻度D(日単位)のDatetimeIndexを作成
# タイムゾーンは Australia/Sydney を指定
datetimeindex = pd.date_range('2021-10-20 02:30:50', periods=6, tz='Australia/Sydney', freq='D')

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

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

# タイムゾーンを取得して表示
print("\nGet the timezone..\n", datetimeindex.tz)

実行結果

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

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

Get the timezone..
Australia/Sydney

ポイント解説

  • tz プロパティ:DateTimeIndexに設定されたタイムゾーンオブジェクトをそのまま返します。タイムゾーンが設定されていない場合は None が返ります。
  • freq パラメータ:「D」は日単位の頻度を意味し、他にも「H」(時間)や「M」(月)など様々な頻度を指定できます。
  • tz パラメータpd.date_range() の生成時にタイムゾーンを指定することで、各日時がオフセット付き(+11:00など)で出力されます。

このように、tz プロパティ一行だけでタイムゾーン情報を取得できるため、時系列データの前処理や検証の際に非常に便利です。

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