Python Pandas入門:秒単位の頻度でTimeDeltaIndexオブジェクトにceil操作を実行する方法
TimeDeltaIndexオブジェクトに対して秒単位の頻度で切り上げ(ceil)操作を実行するには、TimeDeltaIndex.ceil()メソッドを使用します。秒単位の頻度を指定する場合は、freqパラメータに'S'を設定します。
必要なライブラリのインポート
まず、必要なライブラリをインポートします。
import pandas as pd
TimeDeltaIndexオブジェクトの作成
次に、TimeDeltaIndexオブジェクトを作成します。ここではdataパラメータを使ってtimedelta形式のデータを設定しています。
tdIndex = pd.TimedeltaIndex(data =['4 day 8h 20min 35us 45ns', '+17:42:19.999999', '9 day 3h 08:16:02.000055', '+22:35:25.000075'])
作成したTimedeltaIndexを表示してみましょう。
print("TimedeltaIndex...\n", tdIndex)秒単位の頻度でceil操作を実行する
TimeDeltaIndexに対して、秒単位の頻度でceil(切り上げ)操作を行います。秒単位の頻度を指定するために、freqパラメータには'S'を使用します。
print("\nPerforming Ceil operation with seconds frequency...\n",
tdIndex.ceil(freq='S'))完全なコード例
以下が全体のコードです。
import pandas as pd
# TimeDeltaIndexオブジェクトを作成
# dataパラメータでtimedelta形式のデータを設定
tdIndex = pd.TimedeltaIndex(data =['4 day 8h 20min 35us 45ns', '+17:42:19.999999',
'9 day 3h 08:16:02.000055', '+22:35:25.000075'])
# TimedeltaIndexを表示
print("TimedeltaIndex...\n", tdIndex)
# TimeDeltaの各構成要素からなるデータフレームを返す
print("\nThe Dataframe of the components of TimeDeltas...\n", tdIndex.components)
# 秒単位の頻度でTimeDeltaIndexにceil操作を実行
# 秒単位の頻度には 'S' を使用
print("\nPerforming Ceil operation with seconds frequency...\n",
tdIndex.ceil(freq='S'))実行結果
上記のコードを実行すると、以下のような出力が得られます。
TimedeltaIndex...
TimedeltaIndex(['4 days 08:20:00.000035045', '0 days 17:42:19.999999',
'9 days 11:16:02.000055', '0 days 22:35:25.000075'],
dtype='timedelta64[ns]', freq=None)
The Dataframe of the components of TimeDeltas...
days hours minutes seconds milliseconds microseconds nanoseconds
0 4 8 20 0 0 35 45
1 0 17 42 19 999 999 0
2 9 11 16 2 0 55 0
3 0 22 35 25 0 75 0
Performing Ceil operation with seconds frequency...
TimedeltaIndex(['4 days 08:20:01', '0 days 17:42:20', '9 days 11:16:03',
'0 days 22:35:26'],
dtype='timedelta64[ns]', freq=None)解説
出力結果を見ると、元のTimeDeltaIndexの各値が秒単位で切り上げられていることがわかります。例えば、「4 days 08:20:00.000035045」は「4 days 08:20:01」に、「0 days 17:42:19.999999」は「0 days 17:42:20」に変換されています。
このようにceil()メソッドは、ナノ秒やマイクロ秒などの端数を持つ時間差データを、指定した頻度(この場合は秒)のきり良い値へと切り上げる際に非常に便利です。なお、逆に切り下げたい場合はfloor()メソッド、四捨五入したい場合はround()メソッドを使用できます。
-
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