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

【Python Pandas】TimedeltaIndexから各要素のマイクロ秒数を抽出する方法

TimeDeltaIndex(TimedeltaIndex)オブジェクトから各要素のマイクロ秒数を抽出するには、TimedeltaIndex.microseconds プロパティを使用します。

TimedeltaIndexとは

TimedeltaIndexは、pandasで時間差(timedelta)データを扱うためのインデックス型です。日時の差分や経過時間などを表現するのに適しており、days・hours・minutes・seconds・microseconds・nanosecondsといった各単位の値に個別にアクセスできます。

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

import pandas as pd

次に、TimedeltaIndexオブジェクトを作成します。「data」パラメータにtimedelta形式の文字列データを渡して設定しています。

tdIndex = pd.TimedeltaIndex(data =['10 day 5h 2 min 35s 3us 10ns', '+22:39:19.999999',
'2 day 4h 03:08:02.000045', '+21:15:45.999999'])

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

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

各要素からマイクロ秒数を取得するには、microsecondsプロパティにアクセスします。

print("\nTimeDeltaIndexオブジェクトから抽出したマイクロ秒数...\n",
tdIndex.microseconds)

サンプルコード

以下が完全なコード例です。

import pandas as pd

# TimedeltaIndexオブジェクトを作成
# 'data'パラメータでtimedelta型のデータを設定
tdIndex = pd.TimedeltaIndex(data =['10 day 5h 2 min 35s 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.microseconds)

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

実行結果

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

TimedeltaIndex...
TimedeltaIndex(['10 days 05:02:35.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([3, 999999, 45, 999999], dtype='int64')

TimeDeltaの構成要素のデータフレーム...
   days  hours  minutes  seconds  milliseconds  microseconds  nanoseconds
0    10      5        2       35             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

ポイント解説

出力結果を見ると、最初の要素「10 days 05:02:35.000003010」からはマイクロ秒として 3 が、2番目の要素「0 days 22:39:19.999999」からは 999999 が抽出されていることがわかります。microsecondsプロパティは、ナノ秒部分を除いたマイクロ秒の値のみを整数として返します。

また、components プロパティを利用すると、days・hours・minutes・seconds・milliseconds・microseconds・nanoseconds のすべての構成要素を一度にデータフレーム形式で確認できます。時間差データの内容を詳しく調べたい場合やデバッグの際に非常に便利なので、あわせて覚えておくとよいでしょう。

  1. Python Pandas – グループごとの行数を数える方法

    グループごとの行数を数える方法 Pandasで各グループに含まれる行数を数えるには、group.size()を使用します。まず、必要なライブラリをインポートしましょう。 import pandas as pd 続いて、サンプル用のDataFrameを作成します。 dataFrame = pd.DataFrame({ Product Category: [Computer, Mobile Phone, Electronics, Electronics, Computer, Mobile Phone], Quantity: [10, 50, 10, 20, 25, 50], Pr

  2. Pythonでリスト内の各要素の出現回数をサブリストとして作成する方法

    Pythonでは、数値を要素とするリストを扱う際に、同じ値が複数回出現することがよくあります。この記事では、リスト内の各要素とその出現回数(頻度)をペアにしたサブリストを作成する方法を、2つのアプローチで解説します。 方法1:forループとappendを使う まずは基本的な方法です。リスト内の各要素について、それ以降のすべての要素と比較し、一致するものがあればカウントを増やしていきます。最終的に「要素」と「その出現回数」を組み合わせたサブリストのリストを作成します。 コード例 def occurrences(list_in): result = [] checked = []