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 プロパティ一行だけでタイムゾーン情報を取得できるため、時系列データの前処理や検証の際に非常に便利です。
-
Python Pandas – 特定の時系列頻度でDateTimeIndexから分を抽出する方法
特定の時系列頻度で作成した DateTimeIndex から「分(minute)」を抽出するには、DateTimeIndex.minute プロパティを使用します。このプロパティは、インデックス内の各日時に対応する分の値を Int64 型の配列として返します。 必要なライブラリをインポートする まず、pandas をインポートします。 import pandas as pd DateTimeIndex を作成する 次に、期間(periods)を 6、頻度(freq)を T(=分単位)とし、タイムゾーンをオーストラリア/シドニー(Australia/Sydney)に設定した DatetimeI
-
Python Pandas入門:特定の時系列頻度でDateTimeIndexから時間(hour)を抽出する方法
特定の時系列頻度を持つ DateTimeIndex から時間(hour)を抽出したい場合は、DateTimeIndex.hour プロパティを使用します。このプロパティを使うことで、日時インデックスに含まれる各タイムスタンプの「時」の部分だけを簡単に取り出すことができます。必要なライブラリのインポートまず、必要なライブラリをインポートしましょう。import pandas as pdDateTimeIndexの作成次に、開始時刻「2021-10-20 02:35:55」から始まる、期間6・頻度「H」(時間単位)の DatetimeIndex を作成します。タイムゾーンはオーストラリアのシドニー