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利用beautifulSoup实现爬虫
Sep 29 Python
Django项目中model的数据处理以及页面交互方法
May 30 Python
python 输入一个数n,求n个数求乘或求和的实例
Nov 13 Python
详解python和matlab的优势与区别
Jun 28 Python
Python定时任务APScheduler的实例实例详解
Jul 22 Python
利用rest framework搭建Django API过程解析
Aug 31 Python
pandas中遍历dataframe的每一个元素的实现
Oct 23 Python
Python简易计算器制作方法代码详解
Oct 31 Python
基于python实现微信好友数据分析(简单)
Feb 16 Python
Matplotlib使用字符串代替变量绘制散点图的方法
Feb 17 Python
django注册用邮箱发送验证码的实现
Apr 18 Python
浅谈pytorch中的dropout的概率p
May 27 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
laravel容器延迟加载以及auth扩展详解
2015/03/02 PHP
php版微信自动登录并获取昵称的方法
2016/09/23 PHP
jQuery EasyUI API 中文文档 - PropertyGrid属性表格
2011/11/18 Javascript
javascript 在firebug调试时用console.log的方法
2012/05/10 Javascript
JS实现标签页效果(配合css)
2013/04/03 Javascript
Javascript学习笔记之 对象篇(三) : hasOwnProperty
2014/06/24 Javascript
原生JS和JQuery动态添加、删除表格行的方法
2015/05/28 Javascript
SWFObject基本用法实例分析
2015/07/20 Javascript
JS中setTimeout的巧妙用法前端函数节流
2016/03/24 Javascript
原生js仿jquery一些常用方法(必看篇)
2016/09/20 Javascript
Javascript 详解封装from表单数据为json串进行ajax提交
2017/03/29 Javascript
Angular实现的进度条功能示例
2018/02/18 Javascript
看看“疫苗查询”小程序有温度的代码
2018/07/31 Javascript
vue实现输入框的模糊查询的示例代码(节流函数的应用场景)
2019/09/01 Javascript
layui的layedit富文本赋值方法
2019/09/18 Javascript
[05:08]2014DOTA2国际邀请赛 Hao专访复仇的胜利很爽
2014/07/15 DOTA
[46:00]DOTA2上海特级锦标赛主赛事日 - 2 胜者组第一轮#4EG VS Fnatic第一局
2016/03/03 DOTA
[40:55]Liquid vs LGD 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
python基于windows平台锁定键盘输入的方法
2015/03/05 Python
Python如何通过subprocess调用adb命令详解
2017/08/27 Python
pandas string转dataframe的方法
2018/04/11 Python
Python实现字典(dict)的迭代操作示例
2018/06/05 Python
python连接、操作mongodb数据库的方法实例详解
2019/09/11 Python
使用Django实现把两个模型类的数据聚合在一起
2020/03/28 Python
SkinCeuticals官网:美国药妆品牌
2018/04/19 全球购物
PHP如何调用MYSQL存储过程
2014/05/30 面试题
小学新教师培训方案
2014/02/03 职场文书
纪念九一八事变83周年国旗下讲话稿
2014/09/15 职场文书
老人再婚离婚协议书范本
2014/10/27 职场文书
工作检讨书怎么写
2015/01/23 职场文书
3.15消费者权益日活动总结
2015/02/09 职场文书
美丽心灵观后感
2015/06/01 职场文书
运动会通讯稿200字
2015/07/20 职场文书
Python爬虫:从m3u8文件里提取小视频的正确操作
2021/05/14 Python
利用python实时刷新基金估值(摸鱼小工具)
2021/09/15 Python
PostGIS的安装与入门使用指南
2022/01/18 PostgreSQL