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中为feedparser设置超时时间避免堵塞
Sep 28 Python
Python遍历指定文件及文件夹的方法
May 09 Python
Python批量创建迅雷任务及创建多个文件
Feb 13 Python
python入门教程 python入门神图一张
Mar 05 Python
Python 字符串与二进制串的相互转换示例
Jul 23 Python
简单了解Django ContentType内置组件
Jul 23 Python
python实现抠图给证件照换背景源码
Aug 20 Python
10个Python面试常问的问题(小结)
Nov 20 Python
如何基于Python创建目录文件夹
Dec 31 Python
python numpy 矩阵堆叠实例
Jan 17 Python
python实现b站直播自动发送弹幕功能
Feb 20 Python
python关于集合的知识案例详解
May 30 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获取MAC地址的具体实例
2013/12/13 PHP
PHP中数据类型转换的三种方式
2015/04/02 PHP
编写PHP脚本过滤用户上传的图片
2015/07/03 PHP
提高代码性能技巧谈—以创建千行表格为例
2006/07/01 Javascript
JavaScript CSS修改学习第六章 拖拽
2010/02/19 Javascript
javascript与CSS复习(三)
2010/06/29 Javascript
如何确保JavaScript的执行顺序 之jQuery.html并非万能钥匙
2011/03/03 Javascript
Bootstrap树形组件jqTree的简单封装
2016/01/25 Javascript
基于JavaScript实现全屏透明遮罩div层锁屏效果
2016/01/26 Javascript
JavaScript+html5 canvas实现本地截图教程
2020/04/16 Javascript
JS功能代码集锦
2016/05/04 Javascript
JQuery学习总结【二】
2016/12/01 Javascript
Vue.js bootstrap前端实现分页和排序
2017/03/10 Javascript
详解angular element()方法使用
2017/04/08 Javascript
你可能不知道的CORS跨域资源共享
2019/03/13 Javascript
vue中格式化时间过滤器代码实例
2019/04/17 Javascript
vue2.0基于vue-cli+element-ui制作树形treeTable
2019/04/30 Javascript
vue自动路由-单页面项目(非build时构建)
2019/04/30 Javascript
微信小程序tab切换可滑动切换导航栏跟随滚动实现代码
2019/09/04 Javascript
原生JavaScript实现五子棋游戏
2020/11/09 Javascript
[15:23]教你分分钟做大人:虚空假面
2014/10/30 DOTA
python pickle 和 shelve模块的用法
2013/09/16 Python
python实现字符串和日期相互转换的方法
2015/05/13 Python
关于反爬虫的一些简单总结
2017/12/13 Python
Pandas 数据框增、删、改、查、去重、抽样基本操作方法
2018/04/12 Python
DataFrame 将某列数据转为数组的方法
2018/04/13 Python
python 3.6.2 安装配置方法图文教程
2018/09/18 Python
python使用epoll实现服务端的方法
2018/10/16 Python
使用django实现一个代码发布系统
2019/07/18 Python
Python实现平行坐标图的绘制(plotly)方式
2019/11/22 Python
OpenCV+python实现膨胀和腐蚀的示例
2020/12/21 Python
CSS3 渐变(Gradients)之CSS3 径向渐变
2016/07/08 HTML / CSS
初中生学习生活的自我评价
2013/11/20 职场文书
文科生自我鉴定
2014/02/15 职场文书
体育系毕业生自荐信
2014/06/28 职场文书
Spring Data JPA框架持久化存储数据到数据库
2022/04/28 Java/Android