Python Pandas – to_timedelta64()でナノ秒(ns)精度のnumpy.timedelta64オブジェクトを取得する方法
はじめに
pandasのTimedeltaオブジェクトからナノ秒(ns)精度のnumpy.timedelta64オブジェクトを返したい場合は、to_timedelta64()メソッドを使用します。このメソッドを使うことで、pandas独自の時間差表現をNumPyのtimedelta64型へ簡単に変換でき、NumPyベースの数値計算や配列操作との連携がスムーズになります。
手順1:必要なライブラリをインポートする
まず、pandasをインポートします。
import pandas as pd
手順2:Timedeltaオブジェクトを作成する
次に、日数・時間・分・秒・ミリ秒・ナノ秒を指定してTimedeltaオブジェクトを作成します。
timedelta = pd.Timedelta('2 days 11 hours 22 min 25 s 50 ms 45 ns')
作成したTimedeltaオブジェクトを表示してみましょう。
print("Timedelta...\n", timedelta)
手順3:to_timedelta64()で変換する
to_timedelta64()メソッドを呼び出すと、ナノ秒精度のnumpy.timedelta64オブジェクトが返されます。
timedelta.to_timedelta64()
完全なコード例
以下に、ここまでの手順をまとめたサンプルコードを示します。
import pandas as pd
# TimeDeltasはPython標準のdatetimeライブラリとは異なる表現を持つ timedelta です
# Timedeltaオブジェクトを作成
timedelta = pd.Timedelta('2 days 11 hours 22 min 25 s 50 ms 45 ns')
# Timedeltaを表示
print("Timedelta...\n", timedelta)
# numpy.timedelta64オブジェクトを返す
res = timedelta.to_timedelta64()
# ナノ秒(ns)精度のnumpy.timedelta64オブジェクトを表示
print("\nA numpy.timedelta64 object with nanoseconds precision...\n", res)
実行結果
上記のコードを実行すると、次のような出力が得られます。
Timedelta... 2 days 11:22:25.050000045 A numpy.timedelta64 object with nanoseconds precision... 213745050000045 nanoseconds
まとめ
to_timedelta64()メソッドを使えば、pandasのTimedeltaオブジェクトをナノ秒精度のnumpy.timedelta64オブジェクトへ簡単に変換できます。出力結果の「213745050000045 nanoseconds」は、「2日11時間22分25秒50ミリ秒45ナノ秒」をナノ秒単位の整数値として表したものです。NumPy配列や他のライブラリと時間差データをやり取りする際に、ぜひ活用してください。
-
Python Pandas – ナノ秒単位のnumpy timedelta64配列スカラービューを返す方法
Pandasでナノ秒(nanoseconds)単位のnumpy timedelta64配列スカラービューを取得するには、timedelta.asm8プロパティを使用します。このプロパティを使うことで、Timedeltaオブジェクトをnumpyのtimedelta64型のスカラー値として簡単に参照できます。必要なライブラリのインポートまず、必要なライブラリをインポートします。import pandas as pdサンプルコード以下が実際のコード例です。 import pandas as pd # TimeDeltasはPython標準のdatetimeライブラリとは異なる表現を使用します #
-
Python:NumPyのwhere()メソッドでPandas DataFrameをフィルタリングする方法
NumPyのwhere()メソッドを使うと、Pandas DataFrameを簡単にフィルタリングできます。where()メソッドの引数に条件を指定すると、条件を満たす行のインデックスが返されるので、それを.loc[]に渡すことで該当するデータだけを抽出できます。 まずは、必要なライブラリをそれぞれのエイリアス(別名)でインポートしましょう。 import pandas as pd import numpy as np Pandas DataFrameの作成 次に、商品レコードを含むPandas DataFrameを作成します。ここでは「Product(商品名)」「Opening_Stock(