Pythonのデータ分析ライブラリであるPandasには、DataFrameのインデックスを設定するためのset_index
関数があります。この関数を使うと、既存の列データをインデックスとして利用することができます。
set_index関数の基本的な使い方
まずはset_index
関数の基本的な使い方から見ていきましょう。以下のようなデータフレームがあるとします。
import pandas as pd
df = pd.DataFrame({
'age': [17, 18, 18, 17, 19, 17],
'gender': ['M', 'F', 'M', 'F', 'M', 'F'],
'name': ['Tarou', 'Hanako', 'Kakeru', 'Manaka', 'Tomoki', 'Rin'],
'state': ['Tokyo', 'Osaka', 'Osaka', 'Nagoya', 'Chiba', 'Hakata']
})
このデータフレームに対して、state
列をインデックスに設定するには以下のようにします。
df.set_index('state')
これにより、state
列がインデックスとなり、元のデータフレームからは削除されます。
複数の列をインデックスに設定する
複数の列をインデックスに設定することも可能です。その場合、MultiIndexとなります。
df.set_index(['state', 'age'])
インデックスに設定した列を削除しない
drop=False
を指定すると、インデックスに設定した列が元のデータフレームから削除されずに残ります。
df.set_index('state', drop=False)
既存のインデックスに追加する
append=True
を指定すると、既存のインデックスに新たなインデックスが追加され、MultiIndexが生成されます。
df.set_index('state', append=True)
以上、PythonのPandasライブラリで提供されているset_index
関数の使い方について解説しました。この関数を使うことで、データフレームのインデックスを自由に設定することができます。データ分析を行う際には、適切なインデックスの設定が重要となるため、ぜひマスターしておきましょう。.