はじめに
このチュートリアルでは、Python の pandas の DataFrame.reindex() メソッドについて学びます。このメソッドを使用して DataFrame のインデックスと列を変更する方法を探ります。DataFrame.reindex() メソッドを使用すると、前のインデックスに値がない場所の null 値を埋めることで、DataFrame を新しいインデックスと一致させることができます。
VM のヒント
VM の起動が完了したら、左上隅をクリックして Notebook タブに切り替え、Jupyter Notebook を開いて練習を行ってください。
時々、Jupyter Notebook の読み込みが完了するまで数秒待つ必要がある場合があります。Jupyter Notebook の制限により、操作の検証を自動化することはできません。
学習中に問題が発生した場合は、いつでも Labby に質問してください。セッション終了後にフィードバックを提供していただければ、すみやかに問題を解決します。
pandas ライブラリをインポートし、DataFrame を作成する
まずは pandas ライブラリをインポートし、DataFrame を作成しましょう。この DataFrame を使用して DataFrame.reindex() メソッドを実演します。
import pandas as pd
## Create a DataFrame
df = pd.DataFrame([[1, 6, 2], [3, 4, 6], [12, 1, 0]], columns=['A', 'B', 'C'], index=['index_1', 'index_2', 'index_3'])
index パラメータを使用して DataFrame のインデックスを再設定する
インデックスを変更して DataFrame のインデックスを再設定するには、新しいインデックスラベルのリストを DataFrame.reindex() メソッドに渡します。元の DataFrame に存在しないインデックスラベルは、NaN 値で埋められます。
## Reindex the DataFrame with a new index
new_index = ['index_1', 'index_2', 'index_4']
reindexed_df = df.reindex(index=new_index)
print(reindexed_df)
出力:
A B C
index_1 1.0 6.0 2.0
index_2 3.0 4.0 6.0
index_4 NaN NaN NaN
columns パラメータを使用して DataFrame の列インデックスを再設定する
同様に、DataFrame.reindex() メソッドを使用して列を変更することで、DataFrame の列を再設定することができます。columns パラメータに新しい列ラベルのリストを指定します。元の DataFrame に存在しない列は、NaN 値で埋められます。
## Reindex the DataFrame with new columns
new_columns = ['A', 'C', 'D']
reindexed_df = df.reindex(columns=new_columns)
print(reindexed_df)
出力:
A C D
index_1 1.0 2.0 NaN
index_2 3.0 6.0 NaN
index_3 12.0 0.0 NaN
fill_value パラメータを使用して null 値を埋める
null 値を特定の値で埋めたい場合は、DataFrame.reindex() メソッドの fill_value パラメータを使用できます。null 値を埋めるために使用する値を指定します。
## Reindex the DataFrame and fill null values with 2
new_index = ['index_1', 'index_2', 'index_4']
reindexed_df = df.reindex(index=new_index, fill_value=2)
print(reindexed_df)
出力:
A B C
index_1 1 6 2
index_2 3 4 6
index_4 2 2 2
まとめ
このチュートリアルでは、pandas の DataFrame.reindex() メソッドを使用して DataFrame のインデックスを再設定する方法を学びました。DataFrame のインデックスと列を変更する方法、null 値を埋める方法、および null 値に使用する埋め値を指定する方法を調べました。DataFrame のインデックスを適切に再設定する方法を知ることは、pandas でデータを操作して整列させるのに役立ちます。