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

Python Pandas入門:ミリ秒('ms')頻度でTimeDeltaIndexにceil操作を実行する方法

TimeDeltaIndexオブジェクトに対してミリ秒単位の頻度で切り上げ(ceil)操作を行うには、TimeDeltaIndex.ceil()メソッドを使用します。ミリ秒の頻度を指定する場合は、freqパラメータに'ms'を設定します。

必要なライブラリのインポート

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

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の表示

作成したTimedeltaIndexを表示してみましょう。

print("TimedeltaIndex...\n", tdIndex)

ミリ秒頻度でのceil操作の実行

TimeDeltaIndexに対して、ミリ秒の頻度でceil(切り上げ)操作を実行します。ミリ秒の頻度を指定するために「ms」を使用しています。

print("\nPerforming Ceil operation with milliseconds frequency...\n",
tdIndex.ceil(freq='ms'))

完全なコード例

以下がコード全体です。

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操作を実行
# ミリ秒の頻度には「ms」を使用
print("\nPerforming Ceil operation with milliseconds frequency...\n",
tdIndex.ceil(freq='ms'))

実行結果

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

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 milliseconds frequency...
TimedeltaIndex(['4 days 08:20:00.001000', '0 days 17:42:20',
'9 days 11:16:02.001000', '0 days 22:35:25.001000'],
dtype='timedelta64[ns]', freq=None)

解説

出力結果を見ると、各timedelta値が最も近いミリ秒単位へと切り上げられていることがわかります。たとえば「0 days 17:42:19.999999」は「0 days 17:42:20」に、「4 days 08:20:00.000035045」は「4 days 08:20:00.001000」に変換されています。このように、ceil(freq='ms')を使うことで、ナノ秒やマイクロ秒を含む細かい時間差データを、ミリ秒精度に統一して処理することができます。時系列データの前処理や間隔の正規化などに非常に便利な機能です。

  1. Python Pandas入門:DateTimeIndexに対して分単位の頻度でフロア操作を実行する方法

    DateTimeIndexに対して分単位(minute)の頻度でフロア操作を実行するには、DateTimeIndex.floor()メソッドを使用します。分単位の頻度を指定する場合は、freqパラメータにTを設定します。必要なライブラリのインポートまず、必要なライブラリをインポートします。import pandas as pdDatetimeIndexの作成次に、5つの要素を持ち、頻度が秒単位(40S=40秒間隔)のDatetimeIndexを作成します。タイムゾーンは「Australia/Adelaide」に設定しています。datetimeindex = pd.date_range(2021

  2. 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=