はじめに
Series, DataFrameにおける階層型インデックス(MultiIndex
)の使い方について説明する。
解説
モジュールのインポート
タプル型のインデックスでSeriesの作成
タプル型のインデックスの場合、インデックスが2のデータだけを取得したいと思っても、簡単にはできない。
MultiIndexによるインデックス
タプルを多層構造をもつインデックスとして扱うため、pd.MultiIndex.from_tuples(index)
でマルチインデックスを作成する。
reindexによるインデックスの振り直し
先ほど作成したSeriに対して、インデクスを振り直す.reindex(index)
をすることで、データを更新すると多層構造のインデクスをもつSeriesが生成する。
マルチインデックスのスライス
Cactusだけをスライスするには、Seri['Cactus']
とする。
インデックスの2のデータをスライスしたい場合は、Seri[:,2]
とすれば良い。
マルチインデックスSeriesのDataFrameへの変換
多層構造のインデックスをもつSeriesは容易にDataFrameに変換できる。unstack()
とすることで2つ目のインデックスがカラム名となったDataFrameが得られる。
もとに戻す場合は、stack()
をすれば良い。
参考
pandas.MultiIndex.from_tuples — pandas 2.2.3 documentation
pandas.DataFrame.reindex — pandas 2.2.3 documentation
コメント
[…] [pandasの使い方] 10. 階層型インデクスSeries, DataFrameにおける階層型インデクスの使い方sabopy.com2019.01.11 […]