Python Pivot table透视表使用方法解析


Posted in Python onSeptember 11, 2020

Pivot 及 Pivot_table函数用法

Pivot和Pivot_table函数都是对数据做透视表而使用的。其中的区别在于Pivot_table可以支持重复元素的聚合操作,而Pivot函数只能对不重复的元素进行聚合操作。

在一般的日常业务中,因为Pivot_table的功能更为强大,Pivot能做的不能做的Pivot_table都可做。所以只需要记住Pivot_table函数用法就好了。

Pivot函数的使用演示

#%%

import pandas as pd

df01 = pd.DataFrame(
  {
    "年份":[2019,2019,2019,2020,2020,2020],
    "平台":["京东","淘宝","拼多多","京东","淘宝","拼多多"],
    "销量":[100,200,300,400,500,600]
  }
)

df01

#%%

pd.pivot(df01,
     index = "年份",
     columns = "平台",
     values = "销量")

#%%

聚合后结果

Python Pivot table透视表使用方法解析

Pivot_table函数的使用演示

注释:index指定什么元素作为index显示,columns指定列,values指定统计的值。一般values都为int后者float类型的值。aggfunc为聚合函数可以指定(mean,sum,Min,Max等统计运算等函数,如果不指定默认为mean均值)

df02 = pd.DataFrame(
  {
    "年份":[2019,2019,2019,2019,2020,2020,2020,2020],
    "平台":["京东","淘宝","淘宝","拼多多","京东","淘宝","拼多多","拼多多"],
    "销量":[100,200,300,400,500,600,700,800]
  }
)
df02
#%%
#pivot_table用的很多.因为可以对重复的元素进行聚合操作.而pivot函数只能对不重复的行进行运算

pd.pivot_table(df02,
        index="年份",
        columns="平台",
        values="销量",
        aggfunc=sum #聚合函数来对销量进行运算.可以指定最大,最小,平均值等函数.默认为mean平均值
)
#%%

聚合结果

Python Pivot table透视表使用方法解析

对比结果:这里要强调一点的是,2020年平台为拼多多的数据出现了2次,而且2次的值不同。在pivot函数中是无法对这种重复平台的数据进行聚合的,但是Pivot_table则可以。

另外通过聚合函数aggfunc指定sum求和,可以把2次的值累加统计。

Pivot_table函数真实案例演示

1. 读取表格数据

#%%
df = pd.read_excel("./datas/result_datas.xlsx",
         ).convert_dtypes()  #读取数据并自动转化type
df.dtypes
#%%
df.head(3)
#%%

Python Pivot table透视表使用方法解析

2. 通过Pivot_table函数透视合并数据并对金额和数量做统计

因为涉及到敏感信息,因此服务卡卡号等敏感信息部分遮掩不显示。但是通过部分结果也可以看出是按照号码进行升序排序的

#按照自定义指定index,columns,values值
result = pd.pivot_table(df,
        index = ["姓名","服务卡卡号","明细","规格"],
        values = ["理赔金额(元)","数量"],
        aggfunc=sum
        )
result = result.sort_values("服务卡卡号") #按照指定values值排序
result

#%%

#输出到文件
result.to_excel("./datas/output_datas.xlsx")
print("Done!!!")

Python Pivot table透视表使用方法解析

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python使用Paramiko模块编写脚本进行远程服务器操作
May 05 Python
Python开发的HTTP库requests详解
Aug 29 Python
Python实现自动发送邮件功能
Mar 02 Python
关于Python的一些学习总结
May 25 Python
Python使用Flask-SQLAlchemy连接数据库操作示例
Aug 31 Python
python scrapy重复执行实现代码详解
Dec 28 Python
如何通过python实现全排列
Feb 11 Python
python利用opencv实现SIFT特征提取与匹配
Mar 05 Python
windows10环境下用anaconda和VScode配置的图文教程
Mar 30 Python
Python 连接 MySQL 的几种方法
Sep 09 Python
如何用python 操作zookeeper
Dec 28 Python
python实现简单聊天功能
Jul 07 Python
Python extract及contains方法代码实例
Sep 11 #Python
python 利用zmail库发送邮件
Sep 11 #Python
浅析Python 责任链设计模式
Sep 11 #Python
详解python命令提示符窗口下如何运行python脚本
Sep 11 #Python
python实现邮件循环自动发件功能
Sep 11 #Python
Python 实现微信自动回复的方法
Sep 11 #Python
python 如何调用远程接口
Sep 11 #Python
You might like
php 获取xml接口数据的处理方法
2018/05/31 PHP
用Laravel Sms实现laravel短信验证码的发送的实现
2018/11/29 PHP
FireFox JavaScript全局Event对象
2009/06/14 Javascript
JS二维数组的定义说明
2014/03/03 Javascript
一个Action如何调用两个不同的方法
2014/05/22 Javascript
jQuery语法小结(超实用)
2015/12/31 Javascript
jquery制做精致的倒计时特效
2016/06/13 Javascript
jQuery实现日期联动效果实例
2016/07/26 Javascript
js清除浏览器缓存的几种方法
2017/03/15 Javascript
JS实现元素上下左右移动效果
2017/10/18 Javascript
ES6 javascript中Class类继承用法实例详解
2017/10/30 Javascript
webpack优化的深入理解
2018/12/10 Javascript
vue封装可复用组件confirm,并绑定在vue原型上的示例
2019/10/31 Javascript
vue(2.x,3.0)配置跨域代理
2019/11/27 Javascript
node.js实现http服务器与浏览器之间的内容缓存操作示例
2020/02/11 Javascript
Python程序中使用SQLAlchemy时出现乱码的解决方案
2015/04/24 Python
Django实现图片文字同时提交的方法
2015/05/26 Python
Python中函数的参数定义和可变参数用法实例分析
2015/06/04 Python
Python两个内置函数 locals 和globals(学习笔记)
2016/08/28 Python
Python时间和字符串转换操作实例分析
2019/03/16 Python
Python 使用list和tuple+条件判断详解
2019/07/30 Python
新手常见Python错误及异常解决处理方案
2020/06/18 Python
Numpy(Pandas)删除全为零的列的方法
2020/09/11 Python
HTML5 Blob对象的具体使用
2020/05/22 HTML / CSS
电气自动化专业职业规划范文
2014/02/16 职场文书
个人授权委托书范本
2014/04/03 职场文书
党性心得体会
2014/09/03 职场文书
支部书记四风问题对照检查材料
2014/10/04 职场文书
党的群众路线专项整治方案
2014/11/03 职场文书
教师群众路线学习心得体会
2014/11/04 职场文书
业务员岗位职责范本
2015/04/03 职场文书
天那边观后感
2015/06/09 职场文书
2016年教师学习教师法心得体会
2016/01/20 职场文书
幼儿园六一儿童节开幕词
2016/03/04 职场文书
Javascript使用integrity属性进行安全验证
2021/11/07 Javascript
Python requests用法和django后台处理详解
2022/03/19 Python