Python Pandas 数据分析工具透视表(pivot table)

数据透视表概念

数据透视表是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]
})

Python Pandas 数据分析工具透视表(pivot table)

pivot_table 主要参数使用(index | columns | valuse)

df.pivot_table(values='score', index='semester', columns='course')

Python Pandas 数据分析工具透视表(pivot table)
index 作为横坐标, columns 作为纵坐标, value 作为值的内容,默认value求的是平均值,如果想以以其他方式聚合就需要使用 aggfunc 参数配置。

aggfunc

df.pivot_table(values='score', index='semester', columns='course', aggfunc='sum')

Python Pandas 数据分析工具透视表(pivot table)
aggfunc 也可以传入列表,以多种方式分别透视。
df.pivot_table(values='score', index='semester', columns='course', aggfunc=['sum', 'mean', 'max', 'min'])

Python Pandas 数据分析工具透视表(pivot table)
另外,数据透视有时候还会需要对行列进行统计,就需要使用到 margins

margins

df.pivot_table(values='score', index='semester', columns='course', margins=True, aggfunc=np.sum)

Python Pandas 数据分析工具透视表(pivot table)
df.pivot_table(values='score', index='semester', columns='course', margins=True, aggfunc=np.min)

Python Pandas 数据分析工具透视表(pivot table)

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/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球