Python Pivot table透视表使用方法解析
作者:秋天中的一片叶 发布时间:2021-06-21 10:22:59
标签:Python,Pivot,table,透视表
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 = "销量")
#%%
聚合后结果
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平均值
)
#%%
聚合结果
对比结果:这里要强调一点的是,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)
#%%
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!!!")
来源:https://www.cnblogs.com/liupengpengg/p/13559861.html


猜你喜欢
- 第一步: 1:磁盘寻道能力,以高速硬盘(7200转/秒),理论上每秒寻道7200次.这是没有办法改变的,优化的方法是----用多个硬盘,或者
- 这篇文章主要介绍了Python argparse模块应用实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值
- 什么是JSONP首先提一下JSON这个概念,JSON是一种轻量级的数据传输格式,被广泛应用于当前Web应用中。JSON格式数据的编码和解析基
- 如下所示:sudo easy_install requests出现如图所示信息done即可愉快的使用 requests了来源:https:/
- 上一篇说了vue单页面解决解决SEO的问题只是用php预处理了meta标签但是依然没有内容填充,所以对于内容抓取依然有些乏力,只是解决了从无
- 支持实时监控sliderbar的数据,允许有callback回调的函数,有示例1、可自定样式SetStyle() 2、带有onSroll功能
- 打开文件用open,该函数创建一个文件对象,这将用来调用与之关联的其他支持方式。file object = open(file_name [
- 本文实例讲述了PHP面向对象继承用法。分享给大家供大家参考,具体如下:继承先看两个类<?phpclass CdProduct { &n
- 先说下自己的环境,redis是部署在centos上的,爬虫运行在windows上,1. 安装redisyum install -y redi
- 这一篇笔记将介绍 session 相关的内容,包括如何在系统中使用 session,以及利用 session 实现登录认证的功能。1、ses
- 需提前安装好pyzbar和opencv-python库(博主的电脑安装opencv-python库比较麻烦,但大部分都不会出现该问题)安装方
- 合并numpy中numpy中可以通过concatenate,指定参数axis=0 或者 axis=1,在纵轴和横轴上合并两个数组。impor
- 1、背景a、搜狗也发布了自己的人工智能 api,包括身份证ocr、名片ocr、文本翻译等API,初试感觉准确率一般般。b、基于python3
- 现在大多数Centos6.x版本的系统python都是2.x,现因开发需求需要安装前端代码的构建工具glue,故必须要做python版本的升
- GROUP BY 是分组查询, 一般 GROUP BY 是和 聚合函数配合使用,你可以想想你用了GROUP BY 按
- 前言我们经常需要将大量数据保存起来以备后续使用,数据库是一个很好的解决方案。在众多数据库中,MySQL数据库算是入门比较简单、语法比较简单,
- 对于注入而言,错误提示是极其重要。所谓错误提示是指和正确页面不同的结果反馈,高手是很重视这个一点的,这对于注入点的精准判断至关重要。本问讨论
- 实例如下:function getQueStr(url, ref) //取获参数值{ var str = url.substr(
- 原文链接:https://vien.tech/article/157前言本文将介绍ubuntu系统下如何定时执行shell脚本、python
- 如下所示:#coding:utf-8 ''''' Created on 2014-7-24 @aut