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简单实现获取当前时间
Aug 27 Python
浅谈Python爬取网页的编码处理
Nov 04 Python
Python实现的堆排序算法原理与用法实例分析
Nov 22 Python
Python时间戳使用和相互转换详解
Dec 11 Python
深入flask之异步非堵塞实现代码示例
Jul 31 Python
python判断输入日期为第几天的实例
Nov 13 Python
python+mysql实现教务管理系统
Feb 20 Python
mac在matplotlib中显示中文的操作方法
Mar 06 Python
python3安装OCR识别库tesserocr过程图解
Apr 02 Python
解决keras模型保存h5文件提示无此目录问题
Jul 01 Python
Python包管理工具pip的15 个使用小技巧
May 17 Python
详细介绍python类及类的用法
May 31 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地址支持WIN/LINUX系统
2014/04/30 PHP
在Windows XP下安装Apache+MySQL+PHP环境
2015/02/22 PHP
yii2中使用Active Record模式的方法
2016/01/09 PHP
yii2中的rules 自定义验证规则详解
2016/04/19 PHP
利用php-cli和任务计划实现订单同步功能的方法
2017/05/03 PHP
Yii2框架数据验证操作实例详解
2018/05/02 PHP
收集的网上用的ajax之chat.js文件
2007/04/08 Javascript
jquery 获取自定义属性(attr和prop)的实现代码
2012/06/27 Javascript
js 连接数据库如何操作数据库中的数据
2012/11/23 Javascript
JavaScript显示当然日期和时间即年月日星期和时间
2013/10/29 Javascript
node.js开机自启动脚本文件
2014/12/24 Javascript
基于JavaScript实现跳转提示页面
2016/09/24 Javascript
js浏览器滚动条卷去的高度scrolltop(实例讲解)
2017/07/07 Javascript
p5.js 毕达哥拉斯树的实现代码
2018/03/23 Javascript
解决Vue动态加载本地图片问题
2019/10/09 Javascript
微信小程序swiper实现文字纵向轮播提示效果
2020/01/21 Javascript
微信小程序以ssm做后台开发的实现示例
2020/04/08 Javascript
vue项目中使用bpmn为节点添加颜色的方法
2020/04/30 Javascript
js实现复制粘贴的两种方法
2020/12/04 Javascript
[19:24]DOTA2客户端使用指南 一分钟快速设置轻松超神
2013/09/24 DOTA
web.py 十分钟创建简易博客实现代码
2016/04/22 Python
Python中文分词工具之结巴分词用法实例总结【经典案例】
2017/04/15 Python
15行Python代码带你轻松理解令牌桶算法
2018/03/21 Python
pytorch自定义初始化权重的方法
2019/08/17 Python
Python Numpy 自然数填充数组的实现
2019/11/28 Python
Python面向对象中类(class)的简单理解与用法分析
2020/02/21 Python
python 批量下载bilibili视频的gui程序
2020/11/20 Python
Supersmart英国:欧洲市场首批食品补充剂供应商之一
2018/05/05 全球购物
日本卡普空电视游戏软件公司官方购物网站:e-CAPCOM
2018/07/17 全球购物
巴西Mr. Cat在线商店:购买包包和鞋子
2019/09/08 全球购物
管理站站长岗位职责
2013/11/27 职场文书
军训考核自我鉴定
2014/02/13 职场文书
元旦红领巾广播稿
2014/02/19 职场文书
中学教师教育感言
2014/02/21 职场文书
物价局领导班子四风问题整改措施
2014/10/26 职场文书
python tqdm用法及实例详解
2021/06/16 Python