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

Python Pandas – 元のインデックスを無視してTimeDeltaIndexからDataFrameを作成する方法

TimeDeltaIndexオブジェクトからDataFrameを作成するには、to_frame()メソッドを使用します。このとき、indexパラメータにFalseを指定すると、元のインデックスを無視したDataFrameを生成できます。

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

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

import pandas as pd

TimeDeltaIndexオブジェクトの作成

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

tdIndex = pd.TimedeltaIndex(data =['4 day 8h 20min 35us 45ns', '+17:42:19.999999',
'9 day 3h 08:16:02.000055', '+22:35:25.000075'])

TimeDeltaIndexの表示

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

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

TimeDeltaIndexからDataFrameへの変換

TimeDeltaIndexオブジェクトからDataFrameを作成します。ここで「index」パラメータにFalseを指定すると、返されるDataFrameには元のインデックスが引き継がれず、新たに0から始まる連番のインデックスが自動的に割り当てられます。

print("\nTimeDeltaIndex to DataFrame...\n", tdIndex.to_frame(index=False))

サンプルコード(完全版)

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

import pandas as pd

# TimeDeltaIndexオブジェクトを作成
# 「data」パラメータでtimedelta形式のデータを設定
tdIndex = pd.TimedeltaIndex(data =['4 day 8h 20min 35us 45ns', '+17:42:19.999999',
'9 day 3h 08:16:02.000055', '+22:35:25.000075'])

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

# TimeDeltaの各構成要素(日・時・分・秒など)をDataFrameとして返す
print("\nThe Dataframe of the components of TimeDeltas...\n", tdIndex.components)

# TimeDeltaIndexオブジェクトからDataFrameを作成
# index=False を指定することで、元のインデックスは設定されない
print("\nTimeDeltaIndex to DataFrame...\n", tdIndex.to_frame(index=False))

実行結果

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

TimedeltaIndex...
TimedeltaIndex(['4 days 08:20:00.000035045', '0 days 17:42:19.999999',
'9 days 11:16:02.000055', '0 days 22:35:25.000075'],
dtype='timedelta64[ns]', freq=None)

The Dataframe of the components of TimeDeltas...
    days hours minutes seconds milliseconds microseconds nanoseconds
0     4     8      20      0            0           35          45
1     0    17      42     19          999          999           0
2     9    11      16      2            0           55           0
3     0    22      35     25            0           75           0

TimeDeltaIndex to DataFrame...
0
0 4 days 08:20:00.000035045
1 0 days 17:42:19.999999
2 9 days 11:16:02.000055
3 0 days 22:35:25.000075

まとめ

to_frame()メソッドを使えば、TimeDeltaIndexオブジェクトを簡単にDataFrameへ変換できます。デフォルトでは元のインデックスがそのまま使われますが、「index=False」を指定することで、元のインデックスを破棄し、新しい連番インデックスを持つDataFrameを取得できます。時間差データを表形式で扱いたい場合や、後続のデータ処理でインデックスを振り直したい場合に便利な手法です。

  1. Python Pandas入門:データフレームからマルチインデックスを作成する方法

    Pandasのデータフレーム(DataFrame)からマルチインデックス(MultiIndex)を作成するには、MultiIndex.from_frame() メソッドを使用します。このメソッドを使うと、既存のデータフレームの列をそのまま階層的なインデックスへと変換でき、多次元データの扱いが格段に便利になります。マルチインデックス作成の基本手順1. リストからなる辞書を用意するまず、サンプルデータとして車種と購入日を持つ辞書を作成します。d = {Car: [BMW, Lexus, Audi, Mercedes, Jaguar, Bentley], Date_of_purchase:

  2. Python Pandas – データフレームのインデックスをマルチインデックス形式で表示する方法

    Pandas のデータフレームでインデックスをマルチインデックス(MultiIndex)形式で表示するには、dataframe.index を使用します。まずは、リストからなる辞書を作成してみましょう。 # リストの辞書 d = {Car: [BMW, Lexus, Audi, Mercedes, Jaguar, Bentley], Date_of_purchase: [2020-10-10, 2020-10-12, 2020-10-17, 2020-10-16, 2020-10-19, 2020-10-22]} 上記の辞書をもとに、DataFrame を作成します。 dataFra