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