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

Python Pandas入門 - 文字列入力から作成したTimedeltaオブジェクトでナノ秒を取得する方法

PythonのPandasライブラリでは、Timedeltaオブジェクトからナノ秒の値を取得するために、timedelta.nanosecondsプロパティを使用します。この記事では、文字列を入力としてTimedeltaオブジェクトを作成し、そのナノ秒部分を取り出す手順を解説します。

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

まず、Pandasをインポートします。

import pandas as pd

Timedeltaオブジェクトの作成

TimeDeltaは、Python標準のdatetimeライブラリにおけるtimedeltaとは異なる表現を持つ時間差クラスです。ここでは、単位「ns(ナノ秒)」を含む文字列を入力として指定し、Timedeltaオブジェクトを作成します。

timedelta = pd.Timedelta('10 min 40 ns')

この例では、「10分と40ナノ秒」という時間差を持つオブジェクトが生成されます。

Timedeltaの表示

作成したTimedeltaオブジェクトを表示してみましょう。

print("Timedelta...\n", timedelta)

ナノ秒の値を取得する

nanosecondsプロパティにアクセスすることで、Timedeltaオブジェクトに含まれるナノ秒の成分だけを取得できます。

timedelta.nanoseconds

ポイント: nanosecondsプロパティは、Timedelta全体をナノ秒に換算した値ではなく、1秒未満のナノ秒部分のみを返します。分や秒などの情報は含まれません。

サンプルコード全体

以下に、ここまでの手順をまとめた完全なコードを示します。

import pandas as pd

# TimeDeltaはPython標準のdatetimeライブラリとは異なる表現を持つ時間差クラス
# 単位'ns'を含む文字列を入力として指定
# Timedeltaオブジェクトを作成
timedelta = pd.Timedelta('10 min 40 ns')

# Timedeltaを表示
print("Timedelta...\n", timedelta)

# ナノ秒の値を取得
res = timedelta.nanoseconds

# ナノ秒の値を表示
print("\nTimedelta (nanoseconds value)...\n", res)

実行結果

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

Timedelta...
0 days 00:10:00.000000040

Timedelta (nanoseconds value)...
40

出力を見ると、Timedeltaオブジェクトは「0日 00:10:00.000000040」と表示され、nanosecondsプロパティによってナノ秒部分である40が正しく取得できていることがわかります。


  1. Python Pandas – Timedeltaオブジェクトの最小値を取得する方法

    Timedeltaオブジェクトの最小値を取得するTimedeltaオブジェクトの最小値を返すには、timedelta.minプロパティを使用します。まず、必要なライブラリをインポートしましょう。import pandas as pdTimeDeltasは、Python標準のdatetimeライブラリにおけるtimedeltaとは異なる内部表現を持っています。ここでは、pd.Timedelta()を使ってTimedeltaオブジェクトを作成します。timedelta = pd.Timedelta(2 days 1 min 15 s 20 ns)最小値を取得するには、次のようにminプロパティにア

  2. Python Pandas - Timedeltaオブジェクトの最大値を取得する方法

    Timedeltaオブジェクトの最大値を取得するには、timedelta.maxプロパティを使用します。まず、必要なライブラリをインポートしましょう。import pandas as pd次に、Timedeltaオブジェクトを作成します。timedelta = pd.Timedelta(5 days 1 min 45 s 40 ns)そして、最大値を取得します。timedelta.max実行例以下がサンプルコードです。 import pandas as pd # TimeDeltasはPython標準のdatetimeライブラリとは異なる表現を使用します # Timedeltaオブジェクトを