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

Python Pandas入門:TimeDeltaIndexからSeriesを作成するto_series()メソッドの使い方

Pandasでは、to_series()メソッドを使うことで、TimeDeltaIndex(時間差インデックス)からSeriesを作成することができます。この記事では、その基本的な使い方をサンプルコードとともに解説します。

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

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

import pandas as pd

TimeDeltaIndexオブジェクトの作成

次に、TimeDeltaIndexオブジェクトを作成します。「data」パラメータにtimedelta形式のデータを指定します。

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

ここで指定している文字列は、それぞれ以下のような時間差を表しています。

  • '10 day 5h 2 min 3us 10ns':10日5時間2分3マイクロ秒10ナノ秒
  • '+22:39:19.999999':22時間39分19.999999秒
  • '2 day 4h 03:08:02.000045':2日と4時間3分8.000045秒(合計2日7時間8分2.000045秒)
  • '+21:15:45.999999':21時間15分45.999999秒

TimeDeltaIndexをSeriesに変換する

to_series()メソッドを呼び出すだけで、TimeDeltaIndexをSeriesに変換できます。

print("\nTimeDeltaIndex to series...\n", tdIndex.to_series())

完全なサンプルコード

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

import pandas as pd

# TimeDeltaIndexオブジェクトを作成
# 「data」パラメータでtimedelta形式のデータを設定
tdIndex = pd.TimedeltaIndex(data =['10 day 5h 2 min 3us 10ns', '+22:39:19.999999',
'2 day 4h 03:08:02.000045', '+21:15:45.999999'])

# TimedeltaIndexを表示
print("TimedeltaIndex...\n", tdIndex)

# TimeDeltasの各構成要素をDataFrameとして返す
print("\nThe Dataframe of the components of TimeDeltas...\n", tdIndex.components)

# TimeDeltaIndexをdatetime.timedeltaオブジェクトのndarrayとして返す
print("\nReturn TimeDeltaIndex as object ndarray of datetime.datetime objects...\n",
tdIndex.to_pytimedelta())

# TimeDeltaIndexをSeriesに変換
print("\nTimeDeltaIndex to series...\n", tdIndex.to_series())

実行結果

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

TimedeltaIndex...
TimedeltaIndex(['10 days 05:02:00.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 Dataframe of the components of TimeDeltas...
  days hours minutes seconds milliseconds microseconds nanoseconds
0 10    5      2       0        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

Return TimeDeltaIndex as object ndarray of datetime.datetime objects...
[datetime.timedelta(days=10, seconds=18120, microseconds=3)
datetime.timedelta(seconds=81559, microseconds=999999)
datetime.timedelta(days=2, seconds=25682, microseconds=45)
datetime.timedelta(seconds=76545, microseconds=999999)]

TimeDeltaIndex to series...
10 days 05:02:00.000003010 10 days 05:02:00.000003010
0 days 22:39:19.999999 0 days 22:39:19.999999
2 days 07:08:02.000045 2 days 07:08:02.000045
0 days 21:15:45.999999 0 days 21:15:45.999999
dtype: timedelta64[ns]

まとめ

to_series()メソッドを使うことで、TimeDeltaIndexを簡単にSeriesへ変換できます。変換後のSeriesは元のTimeDeltaIndexの値をインデックスとして持ち、dtypeは「timedelta64[ns]」になります。また、componentsプロパティを使えば日数・時間・分などの構成要素をDataFrameとして確認でき、to_pytimedelta()メソッドを使えばPython標準のdatetime.timedeltaオブジェクトの配列に変換できることも覚えておくと便利です。

  1. 【Python・Pandas】配列からマルチインデックスを作成する方法(MultiIndex.from_arrays)

    Pandasでは、複数の配列(リスト)を組み合わせて階層的なインデックス(マルチインデックス)を簡単に作成できます。本記事では、MultiIndex.from_arrays()メソッドを使って、配列からマルチインデックスを生成する手順を解説します。1. 元となる配列を用意するまずは、マルチインデックスの第1レベルとなる「車種」の配列を作成します。car = [Audi, Lexus, Tesla, Mercedes, BMW, Toyota, Nissan, Bentley, Mustang]次に、第2レベルとなる「登録価格(Registration Price)」の配列を用意します。reg_

  2. PythonとPandasのpipe()メソッドでパイプラインを作成する方法

    Pandasでパイプラインを作成するには、pipe()メソッドを使用します。pipe()を使うことで、DataFrameに対して任意の関数を連続的に適用でき、データ処理の流れを簡潔かつ読みやすい形で記述できます。準備:pandasのインポートまず、必要なpandasライブラリをエイリアス付きでインポートします。import pandas as pdDataFrameの作成次に、サンプル用のDataFrameを作成します。dataFrame = pd.DataFrame( { Car: [BMW, Lexus, Audi, Mustang, Bentley, Jaguar],