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

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

PandasのTimedeltaオブジェクトから、namedtuple(名前付きタプル)形式で時間の構成要素を取得するには、timedelta.components属性を使用します。この属性を使うことで、日数・時間・分・秒・ミリ秒・マイクロ秒・ナノ秒といった各単位に分解された値を、属性アクセス可能な形で簡単に取り出せます。

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

import pandas as pd

Timedeltaオブジェクトの作成

TimeDeltaは、Python標準のdatetimeライブラリが持つtimedeltaとは異なる独自の表現形式を採用しており、より高精度な時間差の計算が可能です。ここでは、文字列からTimedeltaオブジェクトを作成します。

timedelta = pd.Timedelta('1 days 10 min 20 s')

コンポーネントの取得

作成したTimedeltaオブジェクトに対して.componentsを呼び出すと、namedtuple形式の構成要素が返されます。

timedelta.components

完全なコード例

以下に、一連の処理をまとめたサンプルコードを示します。

import pandas as pd

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

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

# namedtuple形式のコンポーネントを取得
res = timedelta.components

# 各構成要素を表示
print("\nComponent...\n", res)

実行結果

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

Timedelta...
 1 days 00:10:20

Component...
 Components(days=1, hours=0, minutes=10, seconds=20, milliseconds=0, microseconds=0, nanoseconds=0)

このように、Components(days=..., hours=..., ...)というnamedtupleとして各要素が返されるため、res.daysres.minutesのように属性名を指定して、特定の単位の値だけを直接参照することもできます。

  1. Python Pandas – Timedeltaオブジェクトの最小値を取得する方法

    Timedeltaオブジェクトの最小値を取得するTimedeltaオブジェクトの最小値を返すには、timedelta.minプロパティを使用します。まず、必要なライブラリをインポートしましょう。import pandas as pdTimeDeltasは、Python標準のdatetimeライブラリにおけるtimedeltaとは異なる内部表現を持っています。ここでは、pd.Timedelta()を使ってTimedeltaオブジェクトを作成します。timedelta = pd.Timedelta(2 days 1 min 15 s 20 ns)最小値を取得するには、次のようにminプロパティにア

  2. Python Pandas - Timedeltaオブジェクトの最大値を取得する方法

    Timedeltaオブジェクトの最大値を取得するには、timedelta.maxプロパティを使用します。まず、必要なライブラリをインポートしましょう。import pandas as pd次に、Timedeltaオブジェクトを作成します。timedelta = pd.Timedelta(5 days 1 min 45 s 40 ns)そして、最大値を取得します。timedelta.max実行例以下がサンプルコードです。 import pandas as pd # TimeDeltasはPython標準のdatetimeライブラリとは異なる表現を使用します # Timedeltaオブジェクトを