[pandas] 13. マルチインデックスを利用してDataFrameで集約関数計算

Pandas

はじめに

DataFrameのマルチインデックスを用いて集約関数などの計算を行う方法について説明する。

解説

DataFrameもnumpy同様に、mean, sumなどの集約関数は利用できる。pandasにはインデックスがあるので、np.arrayよりもデータ選択の柔軟性が高い。ここでは、マルチインデックスを用いたデータの計算方法について説明する。

モジュールのインポート

マルチインデックスをもつDataFrameの作成

pd.MultiIndex.from_productにより、リストの要素すべての組み合わせのインデックスが作成される。[[‘a’, ‘b’, ‘c’], [1, 2]]の場合、3×2で6個分の要素のインデックスが生成する。

levelを指定した計算

列方向の計算

levelの指定により、計算をする範囲を変えることができる。level=’A’とした場合、Aのインデックスに該当する部分で計算が行われる。level =’B’の場合はBのインデックスに該当する部分で計算が行われる。

行方向の計算

axis=1とすることで行方向のレベルで計算ができる。

その他の集約関数

他のものは代表的な集約関数は以下の通りとなっている。

集約関数計算
.sum()合計
.max()最大
.min()最小
.mean()平均
.median()中央値
.std()標準偏差
.mode()最頻値

参考

pandas.MultiIndex.from_product — pandas 2.2.3 documentation

コードをダウンロード(.pyファイル) コードをダウンロード(.ipynbファイル)

コメント