[pandas] 9. 階層構造をもつインデックスについて

Pandas

はじめに

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
コードをダウンロード(.pyファイル) コードをダウンロード(.ipynbファイル)

コメント

  1. […] [pandasの使い方] 10. 階層型インデクスSeries, DataFrameにおける階層型インデクスの使い方sabopy.com2019.01.11 […]