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解析文件示例
Jan 23 Python
Python实现全局变量的两个解决方法
Jul 03 Python
Python合并多个装饰器小技巧
Apr 28 Python
利用Python自带PIL库扩展图片大小给图片加文字描述的方法示例
Aug 08 Python
Python 记录日志的灵活性和可配置性介绍
Feb 27 Python
对Tensorflow中权值和feature map的可视化详解
Jun 14 Python
django Serializer序列化使用方法详解
Oct 16 Python
Python图像处理之图像的缩放、旋转与翻转实现方法示例
Jan 04 Python
Django restframework 源码分析之认证详解
Feb 22 Python
配置python的编程环境之Anaconda + VSCode的教程
Mar 29 Python
将pymysql获取到的数据类型是tuple转化为pandas方式
May 15 Python
Python机器学习实战之k-近邻算法的实现
Nov 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
PHP 长文章分页函数 带使用方法,不会分割段落,翻页在底部
2009/10/22 PHP
PHP 5.5 创建和验证哈希最简单的方法详解
2013/11/07 PHP
php使用反射插入对象示例分享
2014/03/11 PHP
php实现的DateDiff和DateAdd时间函数代码分享
2014/08/16 PHP
在Linux系统下一键重新安装WordPress的脚本示例
2015/06/30 PHP
PHP实现的网站目录扫描索引工具
2016/09/08 PHP
Laravel 模型关联基础教程详解
2019/09/17 PHP
jQuery TextBox自动完成条
2009/07/22 Javascript
jQuery.Validate 使用笔记(jQuery Validation范例 )
2010/06/25 Javascript
Jquery绑定事件(bind和live的区别介绍)
2013/08/23 Javascript
js 通过html()及text()方法获取并设置p标签的显示值
2014/05/14 Javascript
javascript中的throttle和debounce浅析
2014/06/06 Javascript
原生JavaScript实现合并多个数组示例
2014/09/21 Javascript
利用jQuery及AJAX技术定时更新GridView的某一列数据
2015/12/04 Javascript
jquery分页插件jquery.pagination.js使用方法解析
2016/04/01 Javascript
jquery判断iPhone、Android设备类型
2016/09/14 Javascript
Vue.js系列之vue-router(上)(3)
2017/01/03 Javascript
jq stop()和:is(:animated)的用法及区别(详解)
2017/02/12 Javascript
JS实现多级菜单中当前菜单不随页面跳转样式而发生变化
2017/05/30 Javascript
详解使用路由延迟加载 Angular 模块
2017/10/12 Javascript
Bootstrap框架建立树形菜单(Tree)的实例代码
2017/10/30 Javascript
微信小程序实现slideUp、slideDown滑动效果及点击空白隐藏功能示例
2018/12/11 Javascript
vue自定义指令实现方法详解
2019/02/11 Javascript
JS使用new操作符创建对象的方法分析
2019/05/30 Javascript
[38:41]2014 DOTA2国际邀请赛中国区预选赛 LGD VS CNB
2014/05/22 DOTA
python实现的udp协议Server和Client代码实例
2014/06/04 Python
python处理PHP数组文本文件实例
2014/09/18 Python
python判断字符串是否包含子字符串的方法
2015/03/24 Python
python的Tqdm模块的使用
2018/01/10 Python
New Balance德国官方网站:购买鞋子和服装
2019/08/31 全球购物
工程质量承诺书
2014/03/27 职场文书
C++程序员求职信
2014/05/07 职场文书
师德自我剖析材料范文
2014/10/06 职场文书
护士节慰问信
2015/02/15 职场文书
国庆节新闻稿
2015/07/17 职场文书
《观潮》教学反思
2016/02/17 职场文书