はじめに
pandas でデータ分析を行う際、マルチインデックスをもつ Series を扱うことがあります。このような Series は階層的な構造を持ち、複数レベルのインデックスで値を参照できる便利な機能を提供します。しかし、データの可視性や操作性を高めるために、これを DataFrame に変換したいケースが頻繁に発生します。本記事では、マルチインデックスをもつ Series を DataFrame に変換する方法について解説します。
解説
モジュールのインポート
マルチインデックスをもつSeriesの生成
pd.MultiIndex.from_tuplesにより、タプルをマルチインデックス化しています。
インデックスの名前を.index.namesで設定します。
unstack()によるDataFrame化
unstack() メソッドを使用することでSeriesをDataFrameに変換できます。その際、levelパラメータを指定することで、どのインデックスを列に展開するかを選択できます。
stack()による再Series化
unstack()した配列は、stack()を使用することで再びSeriesに戻すことができます。マルチインデックスの順序はlevelによって変化し、列のインデックスとして指定したlevelがデータにより近い位置に配置されます。
まとめ
マルチインデックスを持つ Series から DataFrame への変換方法を紹介しました。unstack() メソッドを使うことで階層構造を列と行に展開でき、reset_index() と組み合わせることでさらに柔軟な形式変換が可能です。これらのテクニックを活用することで、複雑なデータ構造をより扱いやすい形式に変換し、効率的なデータ分析を実現できます。
コメント