数据透视表概念
数据透视表是Excel中常用的工具,本片文章的重点不是认识数据透视表,所以找了一片文章,供大家参考。
>>>Excel学习笔记-数据透视表
透视表操作总览
df.pivot_table(values, index, columns, aggfunc, margins)
values: 透视表中的元素值(根据聚合参数得出的)
index: 透视表的行索引
columns: 透视表的列索引
aggfunc: 聚合函数,可以指定多个函数
margins: 表示是否对所有数据进行统计
创建一个DataFrame,后面的代码在其基础上操作。
df = pd.DataFrame({
'name': ['xiaoming', 'xiaohong', 'xiechen', 'xiaoming', 'xiaohong', 'xiechen',
'xiaoming', 'xiaohong', 'xiechen', 'xiaoming', 'xiaohong', 'xiechen'],
'course': ['Chinese', 'Chinese', 'Chinese', 'Chinese', 'Chinese', 'Chinese',
'math', 'math', 'math', 'math', 'math', 'math'],
'semester': ['last', 'last', 'last', 'next', 'next', 'next', 'last', 'last', 'last', 'next', 'next', 'next'],
'score': [78, 88, 98, 67, 92, 95, 82, 62, 87, 54, 65, 89]
})
pivot_table 主要参数使用(index | columns | valuse)
df.pivot_table(values='score', index='semester', columns='course')
index 作为横坐标, columns 作为纵坐标, value 作为值的内容,默认value求的是平均值,如果想以以其他方式聚合就需要使用 aggfunc 参数配置。
aggfunc
df.pivot_table(values='score', index='semester', columns='course', aggfunc='sum')
aggfunc 也可以传入列表,以多种方式分别透视。
df.pivot_table(values='score', index='semester', columns='course', aggfunc=['sum', 'mean', 'max', 'min'])
另外,数据透视有时候还会需要对行列进行统计,就需要使用到 margins。
margins
df.pivot_table(values='score', index='semester', columns='course', margins=True, aggfunc=np.sum)
df.pivot_table(values='score', index='semester', columns='course', margins=True, aggfunc=np.min)
margins 参数默认是Flase,配置该参数为True后,透视表 行/列 的末尾会增加为All的 行/列 。
Alll这一列的规则和value是一致的,value求最大,all会展示这一列的最大,以此类推。Original: https://blog.csdn.net/weixin_46491071/article/details/123760970
Author: 程序猿过家家
Title: Python Pandas 数据分析工具透视表(pivot table)
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/675131/
转载文章受原作者版权保护。转载请注明原作者出处!