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

Python Pandas:特定の時系列頻度でDateTimeIndexから秒を抽出する方法


特定の時系列頻度を持つDateTimeIndexからを抽出するには、PandasのDateTimeIndex.secondプロパティを使用します。このプロパティは、インデックス内の各日時から秒の部分(0〜59の整数値)を取り出し、Indexオブジェクトとして返します。

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

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

import pandas as pd

秒単位のDatetimeIndexを作成する

pd.date_range()を使って、要素数(periods)を6、頻度(freq)を'S'(秒)に設定したDatetimeIndexを作成します。タイムゾーンにはオーストラリア/シドニー(Australia/Sydney)を指定します。

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

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

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

続いて、secondプロパティで秒を取得します。

print("\nGetting the seconds..\n", datetimeindex.second)

完全なコード例

以下は、ここまでの手順をまとめた完全なサンプルコードです。

import pandas as pd

# 要素数6・頻度'S'(秒)のDatetimeIndexを作成
# タイムゾーンはAustralia/Sydneyを指定
datetimeindex = pd.date_range('2021-10-20 02:30:50', periods=6, tz='Australia/Sydney', freq='S')

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

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

# 秒を取得して表示
print("\nGetting the seconds..\n", datetimeindex.second)

実行結果

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

DateTimeIndex...
DatetimeIndex(['2021-10-20 02:30:50+11:00', '2021-10-20 02:30:51+11:00',
'2021-10-20 02:30:52+11:00', '2021-10-20 02:30:53+11:00',
'2021-10-20 02:30:54+11:00', '2021-10-20 02:30:55+11:00'],
dtype='datetime64[ns, Australia/Sydney]', freq='S')
DateTimeIndex frequency...
<Second>

Getting the seconds..
Int64Index([50, 51, 52, 53, 54, 55], dtype='int64')

解説

出力結果を見ると、開始時刻「2021-10-20 02:30:50」から1秒ずつ増加した6つの日時が生成されていることがわかります。datetimeindex.secondを実行すると、各日時の秒の部分にあたる「50, 51, 52, 53, 54, 55」がInt64Indexとして返されます。

また、タイムゾーンにAustralia/Sydneyを指定しているため、各日時には「+11:00」というUTCオフセットが付加されています。これはシドニーの夏時間(AEDT)に相当します。同様に、hourminuteなどのプロパティを使えば、時や分の成分も簡単に抽出できます。


  1. Python Pandas入門:特定の時系列頻度でDateTimeIndexから時間(hour)を抽出する方法

    特定の時系列頻度を持つ DateTimeIndex から時間(hour)を抽出したい場合は、DateTimeIndex.hour プロパティを使用します。このプロパティを使うことで、日時インデックスに含まれる各タイムスタンプの「時」の部分だけを簡単に取り出すことができます。必要なライブラリのインポートまず、必要なライブラリをインポートしましょう。import pandas as pdDateTimeIndexの作成次に、開始時刻「2021-10-20 02:35:55」から始まる、期間6・頻度「H」(時間単位)の DatetimeIndex を作成します。タイムゾーンはオーストラリアのシドニー

  2. Python Pandas - Timedelta(タイムデルタ)を秒単位で丸める方法

    PandasでTimedelta(タイムデルタ)を指定した解像度に丸めるには、round()メソッドを使用します。秒単位の頻度で丸めたい場合は、freqパラメータにsを指定します。このメソッドは、ミリ秒やナノ秒などの細かい端数を切り捨て、指定した頻度に最も近い値へと丸めてくれます。時刻データの前処理や集計において非常に便利な機能です。手順1:必要なライブラリをインポートするまず、Pandasをインポートします。import pandas as pd手順2:Timedeltaオブジェクトを作成する日・時間・分・秒・ミリ秒・ナノ秒を含むTimedeltaオブジェクトを作成します。timedelta