import pandas as pd
# 读取数据
data = pd.read_excel('../data/pivot_table_demo.xlsx')
print(data.describe()) # 仅展示的是数字字段的
print(data.describe(include='all').T) # 展示所有数据
1-求各学习中心已缴纳学费的总和
rst1 = data.pivot_table(index=['学习中心'], values=['已缴纳学费'], aggfunc=np.sum)
print(rst1.head())
输出结果:
学习中心 已缴纳学费
上海管理中心 215430
北京学习中心 45500
北京通州服务站 22700
南京管理中心 5760
嘉兴学习中心 23020
2-求各学习中心已缴纳学费的均值
rst2 = data.pivot_table(index=['学习中心'], values=['已缴纳学费'], aggfunc=np.mean)
print(rst2.head())
输出结果:
学习中心 已缴纳学费
上海管理中心 3779.473684
北京学习中心 2394.736842
北京通州服务站 4540.000000
南京管理中心 2880.000000
嘉兴学习中心 2557.777778
3-各学习中心的报名人数
rst3 = data.pivot_table(index=['学习中心'], values=['身份证号码'], aggfunc=np.count_nonzero)
print(rst3.head())
输出结果:(身份证号的个数当人数)
学习中心 身份证号码
上海管理中心 57
北京学习中心 19
北京通州服务站 5
南京管理中心 2
嘉兴学习中心 9
4-各学习中心的已缴纳学费得总和、报名的人数总和
rst4 = data.pivot_table(index=['学习中心'], values=['已缴纳学费', '身份证号码'], aggfunc={'已缴纳学费': np.sum, '身份证号码': np.count_nonzero})
print(rst4)
输出结果:
学习中心 已缴纳学费 身份证号码
上海管理中心 215430 57
北京学习中心 45500 19
北京通州服务站 22700 5
南京管理中心 5760 2
嘉兴学习中心 23020 9
大连学习中心 133100 44
天通苑学习中心 73500 23
扬州学习中心 54820 21
无锡管理中心 12650 6
湖州学习中心 2250 1
衢州学习中心 5240 3
郑州学习中心 7680 3
镇江学习中心 17600 7