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

Python PandasでTimeDeltaIndexからSeriesを作成し、結果のSeriesに名前を設定する方法

Pandasでは、to_series()メソッドを使用することで、TimeDeltaIndexからSeries(シリーズ)を作成できます。また、nameパラメータを指定すると、生成される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'])

作成したTimedeltaIndexを表示してみましょう。

print("TimedeltaIndex...\n", tdIndex)

TimeDeltaIndexをSeriesに変換して名前を設定する

TimeDeltaIndexをSeriesに変換し、生成されるSeriesに名前を設定します。名前はnameパラメータで指定します。

print("\nTimeDeltaIndex to series...\n", tdIndex.to_series(name="DateTime Data"))

完全なコード例

以下が全体のコードです。

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)

# TimeDeltaの各構成要素からなるデータフレームを返す
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に変換し、結果のSeriesに名前を設定する
# 名前はnameパラメータで指定
print("\nTimeDeltaIndex to series...\n", tdIndex.to_series(name="DateTime Data"))

実行結果

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

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
Name: DateTime Data, dtype: timedelta64[ns]

まとめ

このように、to_series()メソッドを使えばTimeDeltaIndexを簡単にSeriesへ変換でき、nameパラメータを指定することで出力されるSeriesに「DateTime Data」のような分かりやすい名前を付けることができます。時系列データや時間差データを扱う際に、データの識別や後続の処理がしやすくなるため、ぜひ活用してみてください。

  1. Python Pandas – merge()で2つのDataFrameからデカルト積(直積)を作成する方法

    PandasでDataFrame同士をマージするにはmerge()関数を使用します。両方のDataFrameに対してデカルト積(直積)を実行したい場合は、merge()関数の「how」パラメータに以下のように指定します。how = crossデカルト積とはデカルト積(直積)とは、一方のDataFrameの各行と、もう一方のDataFrameのすべての行を組み合わせた結果を指します。例えば、4行のDataFrameと3行のDataFrameをクロス結合すると、4 × 3 = 12行の結果が得られます。Pandasライブラリのインポートまず、エイリアス(別名)を付けてPandasライブラリをインポ

  2. Python Pandas – subsetを指定してdrop_duplicates()で重複値の最後のエントリのみを表示する方法

    重複する値の中から最後のエントリのみを表示したい場合は、drop_duplicates() メソッドの keep パラメータに last を指定します。drop_duplicates() は、DataFrame内の重複行を削除するためのメソッドです。 DataFrameの作成 まずは、「Car(車種)」「Place(地域)」「UnitsSold(販売台数)」の3つの列を持つDataFrameを作成しましょう。 import pandas as pd dataFrame = pd.DataFrame({ Car: [BMW, Mercedes, Lamborghini, BMW, Mer