Python Pandas – TimeDeltaIndexに対して分単位の頻度でフロア(floor)操作を実行する方法
TimeDeltaIndexに対して分単位の頻度でフロア(切り下げ)操作を実行するには、TimeDeltaIndex.floor()メソッドを使用します。分単位の頻度を指定する場合は、freqパラメータに'T'を設定します。
floor()メソッドは、指定した頻度より細かい単位の値を切り捨てるため、時刻データをきれいな間隔に丸めたい場合に非常に便利です。それでは、具体的な手順を見ていきましょう。
必要なライブラリのインポート
まず、必要なライブラリをインポートします。
import pandas as pd
TimeDeltaIndexオブジェクトの作成
次に、TimeDeltaIndexオブジェクトを作成します。dataパラメータを使って、timedelta形式のデータを設定しています。
tdIndex = pd.TimedeltaIndex(data =['5 day 8h 20min 35us 45ns', '+17:42:19.999999', '7 day 3h 08:16:02.000055', '+22:35:25.999999'])
作成したTimedeltaIndexを表示します。
print("TimedeltaIndex...\n", tdIndex)
分単位の頻度でフロア操作を実行
TimeDeltaIndexに対して、分単位の頻度でフロア操作を実行します。分単位の頻度を指定するために、freqパラメータに'T'を使用しています。
print("\nPerforming Floor operation with minute frequency...\n",
tdIndex.floor(freq='T'))
完全なコード例
以下に、ここまでの手順をまとめたコード全体を示します。
import pandas as pd
# TimeDeltaIndexオブジェクトを作成
# dataパラメータを使ってtimedelta形式のデータを設定
tdIndex = pd.TimedeltaIndex(data =['5 day 8h 20min 35us 45ns', '+17:42:19.999999',
'7 day 3h 08:16:02.000055', '+22:35:25.999999'])
# TimedeltaIndexを表示
print("TimedeltaIndex...\n", tdIndex)
# TimeDeltasの各構成要素をデータフレームとして返す
print("\nThe Dataframe of the components of TimeDeltas...\n", tdIndex.components)
# 分単位の頻度でTimeDeltaIndexにフロア操作を実行
# 分単位の頻度には'T'を使用
print("\nPerforming Floor operation with minute frequency...\n",
tdIndex.floor(freq='T'))
実行結果
上記のコードを実行すると、以下のような出力が得られます。
TimedeltaIndex... TimedeltaIndex(['5 days 08:20:00.000035045', '0 days 17:42:19.999999', '7 days 11:16:02.000055', '0 days 22:35:25.999999'], dtype='timedelta64[ns]', freq=None) The Dataframe of the components of TimeDeltas... days hours minutes seconds milliseconds microseconds nanoseconds 0 5 8 20 0 0 35 45 1 0 17 42 19 999 999 0 2 7 11 16 2 0 55 0 3 0 22 35 25 999 999 0 Performing Floor operation with minute frequency... TimedeltaIndex(['5 days 08:20:00', '0 days 17:42:00', '7 days 11:16:00', '0 days 22:35:00'], dtype='timedelta64[ns]', freq=None)
結果のポイント
出力結果からわかるように、floor(freq='T')を実行すると、秒未満の値(ミリ秒・マイクロ秒・ナノ秒)だけでなく秒の部分も切り捨てられ、各値が分単位できれいに丸められていることが確認できます。たとえば「5 days 08:20:00.000035045」は「5 days 08:20:00」に、「0 days 17:42:19.999999」は「0 days 17:42:00」に変換されています。
なお、freqパラメータには他にも'H'(時間単位)、'S'(秒単位)、'D'(日単位)などを指定できるため、目的の精度に応じて柔軟に使い分けることが可能です。
-
Python Pandas入門:DateTimeIndexに対して分単位の頻度でフロア操作を実行する方法
DateTimeIndexに対して分単位(minute)の頻度でフロア操作を実行するには、DateTimeIndex.floor()メソッドを使用します。分単位の頻度を指定する場合は、freqパラメータにTを設定します。必要なライブラリのインポートまず、必要なライブラリをインポートします。import pandas as pdDatetimeIndexの作成次に、5つの要素を持ち、頻度が秒単位(40S=40秒間隔)のDatetimeIndexを作成します。タイムゾーンは「Australia/Adelaide」に設定しています。datetimeindex = pd.date_range(2021
-
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=