17章階層型インデクス
ここまでは、pandasのSeries
とDataFrame
オブジェクトに格納された1次元と2次元のデータに焦点を当ててきました。さらに高次元のデータ、つまり3つ以上のキーでインデクスされたデータの処理が必要となることもあります。pandasの初期バージョンでは、DataFrame
の3次元や4次元版であるPanel
とPanel4D
オブジェクトが提供されていましたが、実際には少々使いにくいものでした。高次元のデータを扱うには、階層型のインデクス(多重インデクスとも呼ばれる)を用いて、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.