17章階層型インデクス

ここまでは、pandasのSeriesDataFrameオブジェクトに格納された1次元と2次元のデータに焦点を当ててきました。さらに高次元のデータ、つまり3つ以上のキーでインデクスされたデータの処理が必要となることもあります。pandasの初期バージョンでは、DataFrameの3次元や4次元版であるPanelPanel4Dオブジェクトが提供されていましたが、実際には少々使いにくいものでした。高次元のデータを扱うには、階層型のインデクス(多重インデクスとも呼ばれる)を用いて、1つのインデクス内に複数のインデクス階層を組み込む、より一般的なパターンが使用できます。こうして、使い慣れた1次元のSeriesまたは2次元のDataFrameオブジェクトで、高次元のデータがコンパクトに表現できます(pandasスタイルの柔軟なインデクスを利用できる真のN次元配列に興味があるのなら、Xarrayパッケージhttps://xarray.pydata.orgが適しているかもしれません)。

この章では、MultiIndexオブジェクトを直接作成する方法について説明します。続いて、多重インデクスを持つデータのインデクス指定方法、スライス、単純なインデクス表現と階層型インデクス表現のデータ変換機能を説明します。

最初に標準的なimportを行います。

In [1]: import pandas as pd
        import numpy as np

17.1 多重インデクスを持つSeries

最初に、1次元のSeriesで2次元データを表現する方法を検討してみましょう。具体的には、各要素が文字と数値キーを持つ一連のデータを扱います。

17.1.1 誤った方法

米国の州に関して、2つの異なる年のデータを管理することを考えます。すでに説明したpandasの機能を使用するなら、単純にタプルをキーとして使いたくなるかもしれません。 ...

Get Pythonデータサイエンスハンドブック 第2版 ―Jupyter、NumPy、pandas、Matplotlib、scikit-learnを使ったデータ分析、機械学習 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.