[pandasの使い方] 12. マルチインデクスのスライス

Pandas
スポンサーリンク

Series, DataFrameにおける階層型構造をもつインデクスのスライスについての解説

マルチインデクスにスライスを適用するには?

pandasでは階層型構造をもつインデクス(=マルチインデクス)を用いると、データの操作性や視認性が向上する。ここでは、そのマルチインデクスのスライスの方法について解説する。

マルチインデクスをもつSeriesにおけるスライス

データの生成

データは、↓と同様に、チョコレートとビスケットの年間総生産量を用いている。

インデクスを直接入力することで要素にアクセスできる。

.locによるスライス

Seri.loc[‘Biscuit’]のように.loc[インデクス名]とすれば、そのデータのみが取り出すことができる。

2017のデータのみを取り出したいときは、↑のようにすれば良い。

マスクによるスライス

マスクによるスライスも可能。

マルチインデクスをもつDataFrameのスライス

データの生成

多層構造をもつデータフレームの例として、[pandasの使い方] 11. マルチインデクスの作成と同様に、サボテンの2年毎の成長データを示す。残念ながらデータは適当となっている。

Seriesと同様に、カラム名を指定することで、データのスライスが可能。

.ilocによるスライス

cactus_data.iloc[:,::2]のように.ilocでpythonの標準的なスライス法を用いることができる。

タプルによるスライス

.locによるスライスでは、タプルを使うこともできる。
これは、.ilocでcactus_data.iloc[6:,2]とした場合と等しい。

IndexSliceオブジェクトの利用

IndexSliceオブジェクトを利用するとインデクスのスライスによる要素へのアクセスができる。

参考

Pythonデータサイエンスハンドブック ―Jupyter、NumPy、pandas、Matplotlib、scikit-learnを使ったデータ分析、機械学習

コメント