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

Python Pandas入門:ミリ秒単位の頻度でTimeDeltaIndexを丸める方法

TimeDeltaIndexをミリ秒単位の頻度で丸める(四捨五入する)には、TimeDeltaIndex.round()メソッドを使用します。ミリ秒単位の頻度を指定する場合は、freqパラメータに'ms'を設定します。

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

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

import pandas as pd

TimeDeltaIndexオブジェクトの作成

次に、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', '+07:20:32.261811624'])

TimeDeltaIndexの表示

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

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

ミリ秒単位での丸め処理

TimeDeltaIndexに対して、ミリ秒単位の頻度で丸め処理を実行します。ミリ秒単位の頻度を指定するために、ここでは「ms」を使用しています。

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

完全なコード例

以下がコード全体です。

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', '+07:20:32.261811624'])

# TimedeltaIndexを表示
print("TimedeltaIndex...\n", tdIndex)

# TimeDeltasの各構成要素をデータフレームとして返す
print("\nThe Dataframe of the components of TimeDeltas...\n", tdIndex.components)

# TimeDeltaIndexに対してミリ秒単位の頻度で丸め処理を実行
# ミリ秒単位の頻度には「ms」を使用
print("\nPerforming round operation with milliseconds frequency...\n",
tdIndex.round(freq='ms'))

実行結果

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

TimedeltaIndex...
TimedeltaIndex(['10 days 05:02:00.000003010', '0 days 22:39:19.999999',
'2 days 07:08:02.000045', '0 days 07:20:32.261811624'],
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     7     20     32       261       811          624

Performing round operation with milliseconds frequency...
TimedeltaIndex([ '10 days 05:02:00', '0 days 22:39:20',
'2 days 07:08:02', '0 days 07:20:32.262000'],
dtype='timedelta64[ns]', freq=None)

解説

出力結果を見ると、丸め処理によってナノ秒やマイクロ秒の部分が切り捨てられ、ミリ秒単位に整理されていることがわかります。たとえば、「0 days 22:39:19.999999」は「0 days 22:39:20」に丸められ、「0 days 07:20:32.261811624」は「0 days 07:20:32.262000」になっています。このように、round(freq='ms')を使うことで、時刻差分のデータをミリ秒精度で簡単に整形できます。

  1. Python Pandas入門:タイムデルタを分単位の頻度で丸める方法

    タイムデルタ(Timedelta)を指定した解像度で丸めるには、round() メソッドを使用します。分単位の頻度で丸めたい場合は、freq パラメータに T を指定します。 必要なライブラリのインポート まず、pandas をインポートします。 import pandas as pd Timedeltaオブジェクトの作成 TimeDeltas は、Python の標準的な datetime ライブラリで使われる timedelta とは異なる表現を持ちます。ここでは、日・時・分・秒・ミリ秒・ナノ秒を含む Timedelta オブジェクトを作成します。 timedelta = pd.Timed

  2. Python PandasでTimedeltaを1時間単位の頻度で丸める方法

    Timedeltaを指定した解像度(頻度)で丸めたい場合は、timestamp.round()メソッドを使用します。1時間ごとの頻度で丸めるには、freqパラメータに「H」を指定します。必要なライブラリのインポートまず、必要なライブラリをインポートします。import pandas as pdTimedeltaオブジェクトの作成TimeDeltasは、Python標準のdatetimeライブラリにおけるtimedeltaとは異なる表現形式を持つデータ型です。ここでは、pd.Timedelta()を使ってTimedeltaオブジェクトを作成します。timedelta = pd.Timedelta