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进程间通信用法实例
Jun 04 Python
python使用matplotlib绘制折线图教程
Feb 08 Python
浅谈Python实现贪心算法与活动安排问题
Dec 19 Python
Django教程笔记之中间件middleware详解
Aug 01 Python
Python 中PyQt5 点击主窗口弹出另一个窗口的实现方法
Jul 04 Python
Flask框架学习笔记之模板操作实例详解
Aug 15 Python
使用python写一个自动浏览文章的脚本实例
Dec 05 Python
django 数据库 get_or_create函数返回值是tuple的问题
May 15 Python
TensorFlow实现模型断点训练,checkpoint模型载入方式
May 26 Python
什么是Python变量作用域
Jun 03 Python
Python xmltodict模块安装及代码实例
Oct 05 Python
python opencv肤色检测的实现示例
Dec 21 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
安装APACHE
2007/01/15 PHP
《PHP编程最快明白》第六讲:Mysql数据库操作
2010/11/01 PHP
php实现scws中文分词搜索的方法
2015/12/25 PHP
利用php做服务器和web前端的界面进行交互
2016/10/31 PHP
thinkPHP+ajax实现统计页面pv浏览量的方法
2017/03/15 PHP
php简单检测404页面的方法示例
2019/08/23 PHP
PHP8.0新功能之Match表达式的使用
2020/07/19 PHP
在IE中调用javascript打开Excel的代码(downmoon原作)
2007/04/02 Javascript
js调试工具 Javascript Debug Toolkit 2.0.0版本发布
2008/12/02 Javascript
javascript div 遮罩层封锁整个页面
2009/07/10 Javascript
js 禁用只读文本框获得焦点时的退格键
2010/04/25 Javascript
Node.js中看JavaScript的引用
2017/04/22 Javascript
EasyUI Datebox 日期验证之开始日期小于结束时间
2017/05/19 Javascript
Web制作验证码功能实例代码
2017/06/19 Javascript
探索Vue高阶组件的使用
2018/01/08 Javascript
vue移动端微信授权登录插件封装的实例
2018/08/28 Javascript
vuex actions传递多参数的处理方法
2018/09/18 Javascript
Cookbook组件形式:优化 Vue 组件的运行时性能
2018/11/25 Javascript
vue中的mvvm模式讲解
2019/01/31 Javascript
Javascript读取上传文件内容/类型/字节数
2019/04/30 Javascript
Vue的属性、方法、生命周期实例代码详解
2019/09/17 Javascript
JavaScript 反射和属性赋值实例解析
2019/10/28 Javascript
[02:09]2018DOTA2亚洲邀请赛TNC赛前采访
2018/04/04 DOTA
Python 实现一行输入多个值的方法
2018/04/21 Python
Python使用pandas和xlsxwriter读写xlsx文件的方法示例
2019/04/09 Python
python防止随意修改类属性的实现方法
2019/08/21 Python
Python:合并两个numpy矩阵的实现
2019/12/02 Python
域名注册、建站工具、网页主机、SSL证书:Dynadot
2017/01/06 全球购物
Banggood官网:面向全球客户的综合商城
2017/04/19 全球购物
世界上最好的儿童品牌:AlexandAlexa
2018/01/27 全球购物
最新教师自我评价分享
2013/11/12 职场文书
初三班主任寄语大全
2014/04/04 职场文书
实习生岗位职责
2014/04/12 职场文书
自定义函数实现单词排序并运用于PostgreSQL(实现代码)
2021/04/22 PostgreSQL
Python自然语言处理之切分算法详解
2021/04/25 Python
MySQL 数据 data 基本操作
2022/05/04 MySQL