df.pivot_table
- values:计算的字段,如
values=['salary','top']
- index:作为索引的字段,如
index='city'
- columns:作为列的字段,原字段中的每个值将作为透视表的列名,如
columns='education'
- aggfunc:计算方法,支持函数、函数列表、字典{汇总计算的字段 : 函数},默认值是
numpy.mean
- fill_value:填充空值,默认是NaN
- margins:增加汇总行和列,默认不汇总,汇总算法与aggfunc一致
- margins_name:汇总行和列的名称,默认是All
dropna:如果整列数据都是NaN,则不展示,默认是True
df.pivot_table(values=['salary','top'],index='city',columns='education',aggfunc={'salary':np.mean,'top':np.max},margins=True,margins_name='整体数据')
salary top
education 不限 大专 本科 硕士 All 不限 大专 本科 硕士 All
city
上海 10.147059 10.045455 13.414365 14.000000 12.852610 50.0 60.0 100.0 100.0 100.0
北京 11.246445 9.297143 14.176577 14.492857 13.640134 50.0 50.0 100.0 70.0 100.0
南京 5.000000 7.090909 8.311475 9.500000 8.036145 20.0 30.0 30.0 25.0 30.0
厦门 8.333333 4.714286 8.444444 10.500000 7.700000 20.0 16.0 30.0 30.0 30.0
天津 3.000000 4.250000 7.066667 NaN 6.300000 4.0 9.0 20.0 NaN 20.0
广州 6.833333 6.833333 10.418103 10.714286 9.397015 26.0 25.0 60.0 40.0 60.0
成都 7.625000 8.115385 9.979798 9.500000 9.474074 30.0 30.0 80.0 25.0 80.0
杭州 13.000000 8.830508 12.122112 15.842105 11.874693 40.0 80.0 80.0 50.0 80.0
武汉 8.100000 8.071429 8.159091 6.000000 8.101449 30.0 30.0 35.0 8.0 35.0
深圳 11.450000 10.563830 13.392405 12.764706 12.792776 30.0 50.0 100.0 40.0 100.0
苏州 NaN 10.600000 10.448276 12.000000 10.594595 NaN 25.0 40.0 35.0 40.0
西安 7.500000 6.000000 8.151515 4.000000 7.431373 15.0 15.0 40.0 6.0 40.0
长沙 6.285714 6.000000 7.466667 6.000000 6.960000 15.0 18.0 20.0 12.0 20.0
All 10.616000 9.043702 13.419404 14.106024 12.811972 50.0 80.0 100.0 100.0 100.0