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

Python Pandas – TimeDeltaIndexから各要素のナノ秒数を抽出する方法

TimeDeltaIndexオブジェクトの各要素からナノ秒数を抽出したい場合は、TimedeltaIndex.nanosecondsプロパティを使用します。このプロパティは、各timedelta値に含まれるナノ秒の成分(0〜999の範囲)を整数として返します。なお、これはタイムデルタ全体をナノ秒換算した値ではなく、あくまで「ナノ秒」の部分だけを取り出す点に注意してください。

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

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("\nThe number of nanoseconds from the TimeDeltaIndex object...\n",
tdIndex.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)

# 各要素のナノ秒数を表示
print("\nThe number of nanoseconds from the TimeDeltaIndex object...\n",
tdIndex.nanoseconds)

# TimeDeltasの構成要素をデータフレームとして返す
print("\nThe Dataframe of the components of TimeDeltas...\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)

The number of nanoseconds from the TimeDeltaIndex object...
Int64Index([10, 0, 0, 0], dtype='int64')

The Dataframe of the components of TimeDeltas...
  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」にはナノ秒成分として「10」が含まれているため、nanosecondsプロパティは「10」を返しています。それ以外の要素はナノ秒成分を持たないため、すべて「0」となります。

また、componentsプロパティを使うと、日数・時間・分・秒・ミリ秒・マイクロ秒・ナノ秒といった各構成要素を一覧できるデータフレームを取得でき、timedeltaの中身を詳しく確認するのに便利です。

なお、古いバージョンのPandasでは結果がInt64Indexとして返されますが、新しいバージョンではIndexクラスに統合されているため、環境によって表示が異なる場合があります。

  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 = []