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を取得できます。時間差データを表形式で扱いたい場合や、後続のデータ処理でインデックスを振り直したい場合に便利な手法です。
-
Python Pandas入門:データフレームからマルチインデックスを作成する方法
Pandasのデータフレーム(DataFrame)からマルチインデックス(MultiIndex)を作成するには、MultiIndex.from_frame() メソッドを使用します。このメソッドを使うと、既存のデータフレームの列をそのまま階層的なインデックスへと変換でき、多次元データの扱いが格段に便利になります。マルチインデックス作成の基本手順1. リストからなる辞書を用意するまず、サンプルデータとして車種と購入日を持つ辞書を作成します。d = {Car: [BMW, Lexus, Audi, Mercedes, Jaguar, Bentley], Date_of_purchase:
-
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