Python Pandas – 特定の時系列頻度でDateTimeIndexから分を抽出する方法
特定の時系列頻度で作成した DateTimeIndex から「分(minute)」を抽出するには、DateTimeIndex.minute プロパティを使用します。このプロパティは、インデックス内の各日時に対応する分の値を Int64 型の配列として返します。
必要なライブラリをインポートする
まず、pandas をインポートします。
import pandas as pd
DateTimeIndex を作成する
次に、期間(periods)を 6、頻度(freq)を 'T'(=分単位)とし、タイムゾーンをオーストラリア/シドニー(Australia/Sydney)に設定した DatetimeIndex を作成します。
datetimeindex = pd.date_range('2021-10-20 02:30:55', periods=6, tz='Australia/Sydney', freq='T')
なお、新しいバージョンの pandas では 'T' は非推奨となっており、代わりに 'min' を指定することが推奨されています。
DateTimeIndex を表示する
print("DateTimeIndex...\n", datetimeindex)
分を取得する
print("\nGetting the minute..\n", datetimeindex.minute)
サンプルコード(完全版)
以下が実際のコード例です。
import pandas as pd
# 期間6・頻度'T'(分単位)のDatetimeIndexを作成
# タイムゾーンはAustralia/Sydney
datetimeindex = pd.date_range('2021-10-20 02:30:55', periods=6, tz='Australia/Sydney', freq='T')
# DateTimeIndexを表示
print("DateTimeIndex...\n", datetimeindex)
# DateTimeIndexの頻度を表示
print("DateTimeIndex frequency...\n", datetimeindex.freq)
# 分を取得して表示
print("\nGetting the minute..\n", datetimeindex.minute)
出力結果
上記のコードを実行すると、以下のような出力が得られます。
DateTimeIndex... DatetimeIndex(['2021-10-20 02:30:55+11:00', '2021-10-20 02:31:55+11:00', '2021-10-20 02:32:55+11:00', '2021-10-20 02:33:55+11:00', '2021-10-20 02:34:55+11:00', '2021-10-20 02:35:55+11:00'], dtype='datetime64[ns, Australia/Sydney]', freq='T') DateTimeIndex frequency... <Minute> Getting the minute.. Int64Index([30, 31, 32, 33, 34, 35], dtype='int64')
解説
出力結果からわかるように、開始時刻が「02時30分55秒」であるため、1分間隔で生成された6つの日時の分の値は「30, 31, 32, 33, 34, 35」となっています。datetimeindex.minute は各日時の分を Int64Index 型で返すため、時系列データの抽出やフィルタリングなどにそのまま活用できます。同様のプロパティとして .hour や .second も用意されており、目的の時間単位に応じて使い分けることが可能です。
-
Python Pandas:特定の時系列頻度でDateTimeIndexから秒を抽出する方法
特定の時系列頻度を持つDateTimeIndexから秒を抽出するには、PandasのDateTimeIndex.secondプロパティを使用します。このプロパティは、インデックス内の各日時から秒の部分(0〜59の整数値)を取り出し、Indexオブジェクトとして返します。必要なライブラリのインポートまず、必要なライブラリをインポートしましょう。import pandas as pd秒単位のDatetimeIndexを作成するpd.date_range()を使って、要素数(periods)を6、頻度(freq)を'S'(秒)に設定したDatetimeIndexを作成します。タイムゾ
-
Python Pandas入門:特定の時系列頻度でDateTimeIndexから時間(hour)を抽出する方法
特定の時系列頻度を持つ DateTimeIndex から時間(hour)を抽出したい場合は、DateTimeIndex.hour プロパティを使用します。このプロパティを使うことで、日時インデックスに含まれる各タイムスタンプの「時」の部分だけを簡単に取り出すことができます。必要なライブラリのインポートまず、必要なライブラリをインポートしましょう。import pandas as pdDateTimeIndexの作成次に、開始時刻「2021-10-20 02:35:55」から始まる、期間6・頻度「H」(時間単位)の DatetimeIndex を作成します。タイムゾーンはオーストラリアのシドニー