[pandasの使い方] 23. pandasにおけるpivot_table

Pandas
スポンサーリンク

pandasのpivot_tableの使い方

DataFrameにpivot_tableを適用するには?

pandasのGruopByは、DataFrameをあるキーで分割し、分割したグループにある演算をし、その結果を結合する、一連の操作ができることが特徴である。ただし、複数の項目でデータを分割したい場合に、GroupByだと、コードがごちゃごちゃして分かり難い。ごちゃごちゃを解消する方法として、pivot_tableがあるので、ここではpivot_tableについて解説する。

データの生成

groupbyによる集計

keyでグループ分けして、[‘height’]の平均(mean())を求めている。

([‘key’,’weight’]でグループ分けして、[‘width’]の要素数と平均([‘count’,’mean’])を計算している。

このように複雑なコードとなり、わかりづらい。

pivot_tableの利用

‘width’について、’key’と’weight’でグループ分けしたときの平均値が求まる。デフォルトで平均値が求まるので、計算の方法は省略されている。その他の計算はaggfunc(後述)でできる。

‘width’について、 indexを[‘key’,’height’], columnsを’weight’としてグループ分けした場合の平均値を求めている。

pivot_tableによる合計、最大値、要素数の計算

aggfunc=’sum’とすることで、グループ分けした結果の合計値が得られる。

aggfunc=’max’とすることで、グループ分けした結果の最大値が得られる。

aggfunc=’count’とすることで、グループ分けした結果の要素数が得られる。

pivot_tableによる複数項目の計算

aggfunc=[‘max’,’count’]とすることで、グループ分けした結果の最大値と要素数が得られる。

参考

Pythonデータサイエンスハンドブック ―Jupyter、NumPy、pandas、Matplotlib、scikit-learnを使ったデータ分析、機械学習

コメント