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

Python Pandas:freq='D'を指定して日単位に切り上げた新しいTimedeltaを返す方法

指定した解像度に切り上げた新しいTimedeltaを返すには、timedelta.ceil()メソッドを使用します。日単位で切り上げたい場合は、freqパラメータに「D」を指定します。

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

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

import pandas as pd

Timedeltaオブジェクトの作成

Timedeltaは、Python標準のdatetimeライブラリが使用するtimedeltaとは異なる表現形式を採用しています。ここでは、Timedeltaオブジェクトを作成します。

timedelta = pd.Timedelta('6 days 1 min 30 s')

Timedeltaの表示

作成したTimedeltaを表示してみます。

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

日単位の切り上げ処理

freq='D'を指定して、日単位の解像度で切り上げた結果を取得します。元の値が「6日1分30秒」であるため、切り上げると「7日」になります。

timedelta.ceil(freq='D')

サンプルコード

以下は、これまでの手順をまとめた完全なコード例です。

import pandas as pd

# Timedeltaは、Python標準のdatetimeライブラリのtimedeltaとは異なる表現形式を持つ
# Timedeltaオブジェクトを作成
timedelta = pd.Timedelta('6 days 1 min 30 s')

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

# 日単位の解像度で切り上げた結果を取得
res = timedelta.ceil(freq='D')

# 切り上げ後のTimedeltaを表示
print("\nTimedelta (daily ceiled)...\n", res)

実行結果

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

Timedelta...
6 days 00:01:30

Timedelta (daily ceiled)...
7 days 00:00:00

このように、ceil()メソッドにfreq='D'を渡すことで、時間・分・秒を含む値が直近の「日」の境界へと切り上げられ、「6 days 00:01:30」が「7 days 00:00:00」に変換されていることが確認できます。

  1. Python Pandas – 指定した解像度に切り上げた新しいTimedeltaを返す方法

    指定した解像度(頻度)に切り上げた新しい Timedelta を返すには、timedelta.ceil() メソッドを使用します。切り上げの単位は、freq パラメータで指定します。まず、必要なライブラリをインポートします。import pandas as pdTimeDeltas は、Python の標準 datetime ライブラリで使用される timedelta とは異なる表現形式を持っています。ここでは、pd.Timedelta を使って Timedelta オブジェクトを作成します。timedelta = pd.Timedelta(6 days 1 min 30 s)作成した Tim

  2. Python Pandas – Timedeltaからnamedtuple形式のコンポーネントを取得する方法

    PandasのTimedeltaオブジェクトから、namedtuple(名前付きタプル)形式で時間の構成要素を取得するには、timedelta.components属性を使用します。この属性を使うことで、日数・時間・分・秒・ミリ秒・マイクロ秒・ナノ秒といった各単位に分解された値を、属性アクセス可能な形で簡単に取り出せます。まずは、必要なライブラリをインポートしましょう。import pandas as pdTimedeltaオブジェクトの作成TimeDeltaは、Python標準のdatetimeライブラリが持つtimedeltaとは異なる独自の表現形式を採用しており、より高精度な時間差の計算