Python Pandas入門:DateTimeIndexからナノ秒を抽出する方法(nanosecondプロパティ活用)
PandasのDateTimeIndex.nanosecondプロパティを使用すると、特定の時系列頻度を持つDateTimeIndexからナノ秒を簡単に抽出できます。本記事では、実際のコード例を交えながら、その使い方をわかりやすく解説します。
必要なライブラリのインポート
まず、Pandasライブラリをインポートします。
import pandas as pd
ナノ秒頻度のDateTimeIndexを作成する
次に、pd.date_range()関数を使って、期間6・頻度「ns」(ナノ秒)・タイムゾーン「Australia/Sydney」を指定したDatetimeIndexを作成します。
datetimeindex = pd.date_range('2021-10-20 02:30:50', periods=6, tz='Australia/Sydney', freq='ns')DateTimeIndexの表示
作成したDateTimeIndexを表示して確認してみましょう。
print("DateTimeIndex...\n", datetimeindex)ナノ秒の取得
nanosecondプロパティにアクセスすることで、各日時からナノ秒の部分だけを抽出できます。
print("\nGetting the nanoseconds..\n",datetimeindex.nanosecond)完全なサンプルコード
以下に、ここまでの手順をまとめた完全なコード例を示します。
import pandas as pd
# 期間6・頻度ns(ナノ秒)のDatetimeIndexを作成
# タイムゾーンはAustralia/Sydneyを指定
datetimeindex = pd.date_range('2021-10-20 02:30:50', periods=6, tz='Australia/Sydney', freq='ns')
# DateTimeIndexを表示
print("DateTimeIndex...\n", datetimeindex)
# DateTimeIndexの頻度を表示
print("DateTimeIndex frequency...\n", datetimeindex.freq)
# ナノ秒を取得して表示
print("\nGetting the nanoseconds..\n",datetimeindex.nanosecond)実行結果
上記のコードを実行すると、次のような出力が得られます。
DateTimeIndex... DatetimeIndex([ '2021-10-20 02:30:50+11:00', '2021-10-20 02:30:50.000000001+11:00', '2021-10-20 02:30:50.000000002+11:00', '2021-10-20 02:30:50.000000003+11:00', '2021-10-20 02:30:50.000000004+11:00', '2021-10-20 02:30:50.000000005+11:00'], dtype='datetime64[ns, Australia/Sydney]', freq='N') DateTimeIndex frequency... <Nano> Getting the nanoseconds.. Int64Index([0, 1, 2, 3, 4, 5], dtype='int64')
解説
この出力結果から、開始時刻「2021-10-20 02:30:50」を基準に、1ナノ秒ずつ増加した6つの日時が生成されていることがわかります。nanosecondプロパティは、それぞれの日時のナノ秒部分(0〜999999999の範囲)をInt64Indexとして返します。この例では最初の要素が0で、以降1ずつ増加しているため、結果は[0, 1, 2, 3, 4, 5]となっています。
同様のプロパティとして、second(秒)、microsecond(マイクロ秒)なども用意されており、時系列データの細かい単位での分析に役立ちます。
-
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 を作成します。タイムゾーンはオーストラリアのシドニー