Python Pandas – 秒の頻度でTimeDeltaIndexに対してフロア操作を実行する方法
TimeDeltaIndexに対して秒単位の頻度でフロア操作(切り下げ)を行うには、TimeDeltaIndex.floor()メソッドを使用します。秒の頻度を指定する場合は、freqパラメータに'S'を設定します。
必要なライブラリのインポート
まず、pandasをインポートします。
import pandas as pd
TimeDeltaIndexオブジェクトの作成
次に、dataパラメータを使ってtimedelta形式のデータを設定し、TimeDeltaIndexオブジェクトを作成します。
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の表示
作成したTimedeltaIndexを表示して確認しましょう。
print("TimedeltaIndex...\n", tdIndex)
秒の頻度でフロア操作を実行
freqパラメータに'S'を指定することで、秒単位で値が切り下げられます。ミリ秒・マイクロ秒・ナノ秒以下の部分は切り捨てられます。
print("\nPerforming Floor operation with seconds frequency...\n",
tdIndex.floor(freq='S'))サンプルコード全体
以下は、ここまでの手順をまとめた完全なコード例です。
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)
# TimeDeltaの各構成要素をDataFrameとして返す
print("\nThe Dataframe of the components of TimeDeltas...\n", tdIndex.components)
# 秒の頻度でTimeDeltaIndexに対してフロア操作を実行
# 秒の頻度には 'S' を使用
print("\nPerforming Floor operation with seconds frequency...\n",
tdIndex.floor(freq='S'))実行結果
上記のコードを実行すると、次のような出力が得られます。
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 seconds frequency... TimedeltaIndex(['5 days 08:20:00', '0 days 17:42:19', '7 days 11:16:02', '0 days 22:35:25'], dtype='timedelta64[ns]', freq=None)
出力結果を見ると、元の値に含まれていたマイクロ秒やナノ秒などの端数が切り捨てられ、各値が秒単位に丸められていることがわかります。このようにfloor()メソッドとfreq='S'を組み合わせることで、TimeDeltaIndexの値を簡単に秒精度へ切り下げることができます。
-
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=
-
Python Pandas - Timedelta(タイムデルタ)を秒単位で丸める方法
PandasでTimedelta(タイムデルタ)を指定した解像度に丸めるには、round()メソッドを使用します。秒単位の頻度で丸めたい場合は、freqパラメータにsを指定します。このメソッドは、ミリ秒やナノ秒などの細かい端数を切り捨て、指定した頻度に最も近い値へと丸めてくれます。時刻データの前処理や集計において非常に便利な機能です。手順1:必要なライブラリをインポートするまず、Pandasをインポートします。import pandas as pd手順2:Timedeltaオブジェクトを作成する日・時間・分・秒・ミリ秒・ナノ秒を含むTimedeltaオブジェクトを作成します。timedelta