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

Python Pandas入門:Timedeltaを日次('D')頻度で丸めるround()メソッドの使い方

Timedeltaを日次頻度で丸める方法

指定した解像度でTimedeltaの値を丸めたい場合は、Pandasのround()メソッドを使用します。日次(1日単位)の頻度で丸めるには、freqパラメータに'D'を指定します。

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

import pandas as pd

Timedeltaは、Python標準のdatetimeライブラリで使われるtimedeltaとは異なる表現形式を持つデータ型です。ここでは、pd.Timedelta()を使ってTimedeltaオブジェクトを作成します。

timedelta = pd.Timedelta('2 days 11 hours 22 min 25 s 50 ms 45 ns')

作成したTimedeltaオブジェクトを表示してみましょう。

print("Timedelta...\n", timedelta)

次に、日次頻度で丸めた結果を取得します。freqパラメータに'D'を指定することで、指定した解像度が設定されます。

timedelta.round(freq='D')

この場合、「2日11時間22分25秒」という値は、直近の日単位の境界に向かって切り捨てられ、「2日00:00:00」に丸められます。なお、freqパラメータには'D'以外にも'H'(時間)、'T'または'min'(分)、'S'(秒)など、さまざまな頻度文字列を指定できます。

サンプルコード

以下に完全なコード例を示します。

import pandas as pd

# TimedeltaはPython標準のdatetimeライブラリのtimedeltaとは異なる表現形式を持つ
# Timedeltaオブジェクトを作成
timedelta = pd.Timedelta('2 days 11 hours 22 min 25 s 50 ms 45 ns')

# Timedeltaを表示
print("Timedelta...\n", timedelta)

# 日次頻度で丸めた結果を取得
# freqパラメータで解像度を指定
res = timedelta.round(freq='D')

# 丸められた結果を表示
print("\nTimedelta (daily rounded)...\n", res)

実行結果

上記のコードを実行すると、以下の出力が得られます。

Timedelta...
2 days 11:22:25.050000045

Timedelta (daily rounded)...
2 days 00:00:00

このように、round()メソッドとfreq='D'を組み合わせることで、Timedeltaの値を簡単に日単位へ丸めることができます。時刻データの前処理や集計処理において非常に便利な機能です。

  1. Python Pandas入門:Timedeltaを指定した解像度で丸める方法

    PythonのPandasライブラリで、Timedelta(時間差)を指定した解像度に丸めたい場合は、timestamp.round()メソッドを使用します。丸めの精度(解像度)は、freqパラメータで自由に設定できます。 Timedeltaを丸める基本的な手順 1. 必要なライブラリをインポートする まず、pandasをインポートします。 import pandas as pd 2. Timedeltaオブジェクトを作成する 次に、日・時・分・秒・ミリ秒・ナノ秒を含むTimedeltaオブジェクトを作成します。 timedelta = pd.Timedelta(2 days 10 hours

  2. Python Pandas:Timedeltaを日単位の解像度に切り下げるfloor()メソッドの使い方

    Pandasのtimedelta.floor()メソッドを使用すると、指定した解像度に切り下げた(フロア処理した)新しいTimedeltaオブジェクトを取得できます。日単位の解像度に切り下げたい場合は、freqパラメータに「D」を指定します。必要なライブラリのインポートまず、必要なライブラリをインポートします。import pandas as pdTimedeltaオブジェクトの作成TimeDeltasは、Python標準のdatetimeライブラリで使用されるtimedeltaの表現形式です。ここでは例として、次のようにTimedeltaオブジェクトを作成します。timedelta = pd