8章データラングリング:連結、結合、変形
多くの場合、データは複数のファイルやデータベースに分かれて保存されていたり、分析に適さない形式になっていたりします。この章では、データの結合や連結、変形などといった操作に役立つツールに焦点を当てます。
はじめに、pandasの階層型インデックスという概念を紹介します。これは、先に述べたデータ操作のいくつかで広く使われる概念です。階層型インデックスの後は、データの結合や変形に関するデータ操作を掘り下げていきます。この章で紹介するツールを用いた応用例は、「13章 データ分析の実例」で紹介します。
8.1 階層型インデックス
階層型インデックスとは、複数(2つ以上)のインデックスの階層を軸に持たせることができる機能で、pandasの重要な機能の1つです。見方を変えると、階層型インデックスは、高次元のデータをより低次元の形で扱う方法を提供します。簡単な例を見ていきましょう。まずは、リスト(または配列)のリストをインデックスとして指定してシリーズを作ります。
In [11]: data = pd.Series(np.random.uniform(size=9), ....: index=[["a", "a", "a", "b", "b", "c", "c", "d", "d"], ....: [1, 2, 3, 1, 3, 1, 2, 2, 3]]) In [12]: data Out[12]: a 1 0.929616 2 0.316376 3 0.183919 b 1 0.204560 3 0.567725 c 1 0.595545 2 0.964515 d 2 0.653177 3 0.748907 dtype: float64
Get Pythonによるデータ分析入門 第3版 ―pandas、NumPy、Jupyterを使ったデータ処理 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.