Pandasのメソッド説明 reindex

Pandasのreindexメソッドは、既存のデータフレームまたはシリーズの行および列のインデックスを変更するためのメソッドです。新しいインデックスを指定してデータを再配置することができ、データをフィルタリング、並べ替え、または追加するのに便利です。以下は、reindexメソッドの一般的な使い方と主要なパラメータの説明です。

基本的な使用法:

python
import pandas as pd

# サンプルシリーズを作成
data = {'A': 1, 'B': 2, 'C': 3}
original_series = pd.Series(data)

# 新しいインデックスを持つシリーズを作成
new_index = ['A', 'B', 'D', 'E']
reindexed_series = original_series.reindex(new_index)

# リインデックスされたシリーズを表示
print(reindexed_series)

この例では、reindexメソッドを使用して、元のシリーズoriginal_seriesのインデックスをnew_indexに変更しました。新しいインデックスに該当する値が元のシリーズにない場合、Pandasはその要素をNaN(欠損値)として埋めます。

データフレームの場合:

reindexメソッドは、データフレームの行および列のインデックスの両方を変更することができます。

python
import pandas as pd

# サンプルデータフレームを作成
data = {'A': [1, 2, 3],
        'B': [4, 5, 6]}
original_df = pd.DataFrame(data, index=['X', 'Y', 'Z'])

# 新しい行および列のインデックスを指定
new_index = ['X', 'Y', 'W']
new_columns = ['A', 'B', 'C']

# データフレームをリインデックス
reindexed_df = original_df.reindex(index=new_index, columns=new_columns)

# リインデックスされたデータフレームを表示
print(reindexed_df)

この例では、データフレームの行と列のインデックスを同時に変更しました。新しい行および列のインデックスに該当する要素が元のデータフレームにない場合、NaNが埋められます。

リインデックス時のオプション:

reindexメソッドには、リインデックス時に異なるオプションも含まれています。例えば、fill_valueパラメータを使用して、NaNを特定の値で埋めることができます。また、methodパラメータを使用して、欠損値の埋め方を指定することもできます。

python
# NaNを0で埋める
reindexed_series = original_series.reindex(new_index, fill_value=0)

# 欠損値を前の値で埋める
reindexed_series = original_series.reindex(new_index, method='ffill')

reindexメソッドは、データのインデックスを柔軟に変更してデータの整理、結合、欠損値の処理などの操作を行うのに非常に便利なメソッドです。