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

Python Pandas – DateTimeIndexに対して1時間ごとの頻度でfloor(切り下げ)操作を実行する方法

DateTimeIndexに対して1時間ごとの頻度でfloor(切り下げ)操作を実行するには、DateTimeIndex.floor()メソッドを使用します。1時間ごとの頻度を指定する場合は、freqパラメータに'H'(時間)を設定します。

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

import pandas as pd

次に、期間数を5、頻度を20分('20min')、タイムゾーンを「Australia/Adelaide」としてDatetimeIndexを作成します。

datetimeindex = pd.date_range('2021-09-29 07:20:32.261811624', periods=5,
tz='Australia/Adelaide', freq='20min')

作成したDateTimeIndexを表示します。

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

DateTimeIndexの日付に対して、1時間ごとの頻度でfloor操作を実行します。1時間ごとの頻度には「'H'」を使用します。

print("\n1時間ごとの頻度でfloor操作を実行中...\n",
datetimeindex.floor(freq='H'))

サンプルコード

以下が完全なコード例です。

import pandas as pd

# 期間数5、頻度は分単位(20分)のDatetimeIndexを作成
# タイムゾーンは Australia/Adelaide
datetimeindex = pd.date_range('2021-09-29 07:20:32.261811624', periods=5,
tz='Australia/Adelaide', freq='20min')

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

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

# 1時間ごとの頻度でfloor操作を実行
# 1時間ごとの頻度には 'H' を使用
print("\n1時間ごとの頻度でfloor操作を実行中...\n",
datetimeindex.floor(freq='H'))

出力結果

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

DateTimeIndex...
DatetimeIndex(['2021-09-29 07:20:32.261811624+09:30',
'2021-09-29 07:40:32.261811624+09:30',
'2021-09-29 08:00:32.261811624+09:30',
'2021-09-29 08:20:32.261811624+09:30',
'2021-09-29 08:40:32.261811624+09:30'],
dtype='datetime64[ns, Australia/Adelaide]', freq='20T')
DateTimeIndex frequency...
<20 * Minutes>

1時間ごとの頻度でfloor操作を実行中...
DatetimeIndex(['2021-09-29 07:00:00+09:30', '2021-09-29 07:00:00+09:30',
'2021-09-29 08:00:00+09:30', '2021-09-29 08:00:00+09:30',
'2021-09-29 08:00:00+09:30'],
dtype='datetime64[ns, Australia/Adelaide]', freq=None)

解説

floor操作では、各タイムスタンプが指定した頻度(この場合は1時間)の境界に向かって切り下げられます。例えば「07:20:32」や「07:40:32」は「07:00:00」に、「08:00:32」「08:20:32」「08:40:32」は「08:00:00」にそれぞれ切り下げられていることがわかります。なお、floor操作後のインデックスは元の頻度情報を持たなくなるため、freq属性はNoneになります。

  1. Python Pandas入門:DateTimeIndexを分単位の頻度で丸める方法

    pandasでDateTimeIndex(日時インデックス)を分単位の頻度で丸めるには、DateTimeIndex.round()メソッドを使用します。分単位の頻度を指定したい場合は、freq引数にTを設定します。なお、Tは「min(minutes)」のエイリアスであり、どちらを指定しても同じ結果が得られます。手順1:ライブラリのインポートまず、必要なライブラリをインポートします。import pandas as pd手順2:DateTimeIndexの作成次に、期間5・頻度45秒(45s)のDatetimeIndexを作成します。タイムゾーンにはオーストラリアのアデレード(Australia

  2. PandasでDateTimeIndexを1時間ごとの頻度で丸める方法|round()の使い方を解説

    PandasでDateTimeIndexを1時間ごとの頻度に丸めるには、DateTimeIndex.round()メソッドを使用します。1時間ごとの頻度を指定する場合は、freqパラメータに「H」を設定します。 実装の手順 まず、必要なライブラリをインポートします。 import pandas as pd 続いて、期間5つ・頻度「T」(分単位)でDatetimeIndexを作成します。タイムゾーンはオーストラリア/アデレード(Australia/Adelaide)を指定しています。 datetimeindex = pd.date_range(2021-09-29 07:00, per