
243
8
章
データラングリング:
連結、結合、変形
多くの場合、データは複数のファイルやデータベースに分かれて保存されていたり、簡単には分析
できない形式になっていたりします。この章では、データの結合や連結、変形などといった操作に役
立つツールに焦点を当てます。
はじめに、
pandas
の階層型インデックスという概念を紹介します。これは、先に述べたデータ操作
のいくつかで広く使われる概念です。階層型インデックスの後は、データの結合や変形に関するデー
タ操作を掘り下げていきます。この章で紹介するツールを用いた応用例は、「14 章 データ分析の実例」
で紹介します。
8.1
階層型インデックス
階層型インデックスとは、複数(
2
つ以上)のインデックスの階層を軸に持たせることができる機能で、
pandas
の重要な機能の
1
つです。やや抽象的な言い方をすると、階層型インデックスは、高次元のデー
タをより低次元の形で扱う方法を提供し
ます。簡単な例を見ていきましょう。まずは、リスト(または
配列)のリストをインデックスとして指定してシリーズを作ります。
In [9]: data = pd.Series(np.random.randn(9),
...: index=[['a', 'a', 'a', 'b', 'b', 'c', 'c', 'd', 'd'],
...: [1, 2, 3, 1, 3, 1, 2, 2, 3]])
In [10]: data
Out[10]:
a 1 -0.204708
2 0.478943
3 -0.519439 ...