使うのはpivot_table関数
使うデータ(data)
まとめる項目(index)
分割する項目(columns)
計算する値(values)
集計関数(aggfunc)
最低限、必要な引数は下の3つ
・data(第一引数): 元データのpandas.DataFrameオブジェクトを指定。
・index: 元データの列名を指定。結果の行見出しとなる。
・columns: 元データの列名を指定。結果の列見出しとなる。
引数index, columnsに指定していない列の平均値が結果として算出されるが、型が数値でない列は除外されます。
結果の値の算出方法を指定: 引数aggfunc
デフォルトでは平均値が算出されるが、引数aggfuncに関数を指定することでほかの方法で値を算出することが可能。
aggfuncでは集計関数、つまり計算する方法を指定します
記載がない場合は「平均:np.mean」が採用されます
- mean:平均
- sum:合計
- max:最大値
- min:最小値
- count:件数
import pandas as pd
# 本サイトから直接データを取得
df = pd.read_html('https://smart-hint.com/student-data/')[0]
df.head()
df.pivot_table(index='class', columns='sex', values='english',
margins=True, margins_name='総計')
インデックスの解除
df.pivot_table(index=['sex','club_athletic'],
values='english').reset_index()
「0.1.2.3…」と数字の連番がインデックスとして追加されます