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

Python PandasでTimedeltaIndexオブジェクトを作成する方法

TimedeltaIndexオブジェクトを作成するには、pandas.TimedeltaIndex()メソッドを使用します。このメソッドを使うと、timedelta形式のデータをインデックスとして扱うことができ、時間差(期間)のデータ分析に非常に便利です。

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

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

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', '+21:15:45.999999'])

作成したTimedeltaIndexを表示します。

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

さらに、TimeDeltaの各構成要素(日・時・分・秒など)をデータフレームとして返すこともできます。

print("\nTimeDeltaの構成要素のデータフレーム...\n", tdIndex.components)

完全なコード例

以下は、上記の手順をすべて含んだコード例です。days・seconds・microsecondsなどの各プロパティを使って、要素ごとの値を取得する方法も合わせて示しています。

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', '+21:15:45.999999'])

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

# 各要素の日数を表示
print("\nTimedeltaIndexオブジェクトから取得した日数...\n", tdIndex.days)

# 各要素の秒数を表示
print("\nTimedeltaIndexオブジェクトから取得した秒数...\n", tdIndex.seconds)

# 各要素のマイクロ秒数を表示
print("\nTimedeltaIndexオブジェクトから取得したマイクロ秒数...\n", tdIndex.microseconds)

# TimeDeltaの構成要素をデータフレームとして返す
print("\nTimeDeltaの構成要素のデータフレーム...\n", tdIndex.components)

出力結果

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

TimedeltaIndex...
TimedeltaIndex(['10 days 05:02:00.000003010', '0 days 22:39:19.999999',
'2 days 07:08:02.000045', '0 days 21:15:45.999999'],
dtype='timedelta64[ns]', freq=None)

TimedeltaIndexオブジェクトから取得した日数...
Int64Index([10, 0, 2, 0], dtype='int64')

TimedeltaIndexオブジェクトから取得した秒数...
Int64Index([18120, 81559, 25682, 76545], dtype='int64')

TimedeltaIndexオブジェクトから取得したマイクロ秒数...
Int64Index([3, 999999, 45, 999999], dtype='int64')

TimeDeltaの構成要素のデータフレーム...
  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     21     15     45        999          999          0

まとめ

pandas.TimedeltaIndex()メソッドを使えば、文字列形式の時間差データを簡単にインデックス化できます。また、dayssecondsmicrosecondsなどのプロパティやcomponents属性を活用することで、各時間差の詳細な構成要素を柔軟に取得でき、時系列データの差分分析に役立ちます。

  1. PythonとPandasのpipe()メソッドでパイプラインを作成する方法

    Pandasでパイプラインを作成するには、pipe()メソッドを使用します。pipe()を使うことで、DataFrameに対して任意の関数を連続的に適用でき、データ処理の流れを簡潔かつ読みやすい形で記述できます。準備:pandasのインポートまず、必要なpandasライブラリをエイリアス付きでインポートします。import pandas as pdDataFrameの作成次に、サンプル用のDataFrameを作成します。dataFrame = pd.DataFrame( { Car: [BMW, Lexus, Audi, Mustang, Bentley, Jaguar],

  2. Pythonでネストされた辞書(入れ子のdict)を作成する方法

    Pythonの辞書(dict)オブジェクトはミュータブル(変更可能)です。この特性を利用すると、ある辞書の「値」として、別の辞書オブジェクトをそのまま格納することができます。このように、キーに対応する値としてさらに辞書が定義されている構造を、ネストされた辞書(入れ子構造の辞書)と呼びます。ネストされた辞書の基本構文ネストされた辞書は、外側のキーに対して、波括弧 {} で囲まれた新しい辞書を値として指定するだけで作成できます。>>> students={"student1":{"name":"Raaj", "