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