import pandas as pd
df_1 = pd.read_excel('stu.xls')
help(df_1.pivot_table)
pivot_table(values=None, index=None, columns=None, aggfunc='mean', fill_value=None, margins=False, dropna=True, margins_name='All', observed=False, sort=True)
index : 原表的表頭名稱。解釋:透視表的第一列(透視表每一行的表頭)
columns :原表的表頭名稱。解釋:透視表的第一行(透視表每一列的表頭)
values:原表的表頭名稱。解釋:透視表內容,以哪列的數據為准。
aggfunc : 聚合函數,默認為平均值
np.sum() //求和;
np.prod() //所有元素相乘;
np.mean() //平均值;
np.std() //標准差;
np.var() //方差;
np.median() //中數;
np.power() //冪運算;
np.sqrt() //開方;
np.min() //最小值;
np.max() //最大值;
np.argmin() //最小值的下標;
np.argmax() //最大值的下標;
np.inf //無窮大;
np.exp(10) //以e為底的指數;
np.log(10) //對數
fill_value : 空缺數據,設置填充內容
margins : 是否添加行列的總計
dropna : 默認為True,如果列的所有值都是NaN,將不作為計算列,False時,被保留
margins_name : 匯總行列的名稱,默認為All
observed : 是否顯示觀測值
sort : 結果是否排序
import pandas as pd
import numpy as np
df_1 = pd.read_excel('stu.xls')
#aggfunc='count' 計數
df_1_r = pd.pivot_table(df_1, index='年齡', columns='姓名', values='分數', aggfunc='count', margins=True,
margins_name='總計', fill_value=0)
df_1_r.to_excel('1.xlsx')