Python Pandas - 分単位の頻度でTimeDeltaIndexを丸める方法
TimeDeltaIndexを分単位の頻度で丸める方法
TimeDeltaIndexを分単位の頻度で丸めるには、TimeDeltaIndex.round()メソッドを使用します。分単位の頻度を指定する場合は、freqパラメータに'T'を設定します。
まず、必要なライブラリをインポートします。
import pandas as pd
続いて、TimeDeltaIndexオブジェクトを作成します。「data」パラメータを使用して、timedelta形式のデータを設定します。
tdIndex = pd.TimedeltaIndex(data =['10 day 5h 2 min 3us 10ns', '+22:39:19.999999', '2 day 4h 03:08:02.000045', '+21:15:45.999999'])
分単位の頻度でTimeDeltaIndexに対して丸め処理を実行します。分単位の頻度には「'T'」を指定します。
print("\nPerforming round operation with minute frequency...\n",
tdIndex.round(freq='T'))サンプルコード
以下に完全なコードを示します。
import pandas as pd
# TimeDeltaIndexオブジェクトを作成
# 「data」パラメータを使用してtimedelta形式のデータを設定
tdIndex = pd.TimedeltaIndex(data =['10 day 5h 2 min 3us 10ns', '+22:39:19.999999',
'2 day 4h 03:08:02.000045', '+21:15:45.999999'])
# TimedeltaIndexを表示
print("TimedeltaIndex...\n", tdIndex)
# TimeDeltaの構成要素をデータフレームとして返す
print("\nThe Dataframe of the components of TimeDeltas...\n", tdIndex.components)
# 分単位の頻度でTimeDeltaIndexに対して丸め処理を実行
# 分単位の頻度には「'T'」を使用
print("\nPerforming round operation with minute frequency...\n",
tdIndex.round(freq='T'))出力結果
上記のコードを実行すると、以下のような出力が得られます。
TimedeltaIndex...
TimedeltaIndex(['10 days 05:02:00.000003010', '0 days 22:39:19.999999',
'2 days 07:08:02.000045', '0 days 21:15:45.999999'],
dtype='timedelta64[ns]', freq=None)
The Dataframe of the components of TimeDeltas...
days hours minutes seconds milliseconds microseconds nanoseconds
0 10 5 2 0 0 3 10
1 0 22 39 19 999 999 0
2 2 7 8 2 0 45 0
3 0 21 15 45 999 999 0
Performing round operation with minute frequency...
TimedeltaIndex(['10 days 05:02:00', '0 days 22:39:00', '2 days 07:08:00',
'0 days 21:16:00'],
dtype='timedelta64[ns]', freq=None)出力の解説
丸め処理の結果、秒未満の情報が取り除かれ、各値が分単位に揃えられていることがわかります。例えば、「0 days 21:15:45.999999」は秒が45秒であるため、直近の分である「0 days 21:16:00」に切り上げられます。一方、「0 days 22:39:19.999999」は秒が19秒であるため、「0 days 22:39:00」に切り捨てられます。
補足:freqパラメータで指定できる頻度
freqパラメータには「'T'」(分)のほかにも、「'S'」(秒)、「'H'」(時間)、「'D'」(日)など、さまざまな頻度のエイリアスを指定できます。これにより、任意の単位でTimeDeltaIndexを柔軟に丸めることが可能です。
-
Python Pandas入門:タイムデルタを分単位の頻度で丸める方法
タイムデルタ(Timedelta)を指定した解像度で丸めるには、round() メソッドを使用します。分単位の頻度で丸めたい場合は、freq パラメータに T を指定します。 必要なライブラリのインポート まず、pandas をインポートします。 import pandas as pd Timedeltaオブジェクトの作成 TimeDeltas は、Python の標準的な datetime ライブラリで使われる timedelta とは異なる表現を持ちます。ここでは、日・時・分・秒・ミリ秒・ナノ秒を含む Timedelta オブジェクトを作成します。 timedelta = pd.Timed
-
Python PandasでTimedeltaを1時間単位の頻度で丸める方法
Timedeltaを指定した解像度(頻度)で丸めたい場合は、timestamp.round()メソッドを使用します。1時間ごとの頻度で丸めるには、freqパラメータに「H」を指定します。必要なライブラリのインポートまず、必要なライブラリをインポートします。import pandas as pdTimedeltaオブジェクトの作成TimeDeltasは、Python標準のdatetimeライブラリにおけるtimedeltaとは異なる表現形式を持つデータ型です。ここでは、pd.Timedelta()を使ってTimedeltaオブジェクトを作成します。timedelta = pd.Timedelta