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

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(マイクロ秒)なども用意されており、時系列データの細かい単位での分析に役立ちます。

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