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
0
投稿
猜你喜欢
- 1. 效果图自己画一张图,原图 VS 骨架效果图如下:opencv logo原图 VS 骨架化效果图如下:2. 源码# 图像骨架化~impo
- 如下所示:# -*- coding:utf-8 -*-import xlrdimport sysimport reimport jsondi
- 用了两种方式解决该问题,都是网上现有的解决方案。场景说明:有一个数据文件,以文本方式保存,现在有三列user_id,plan_id,mobi
- 本文实例讲述了php自定义函数实现二维数组按指定key排序的方法。分享给大家供大家参考,具体如下:二维数组官方的排序方法并不好,该函数可以进
- IronPython是一种在 .NET及 Mono上的 Python实现,由微软的 Jim Hugunin所发起,是一个开源的项目,基于微软
- 外联接。外联接可以是左向外联接、右向外联接或完整外部联接。 在 FROM 子句中指定外联接时,可以由下列几组关键字中的一组指定:LEFT J
- (本篇部分代码综合整理自B站,B站有手把手说明的教程)1.网易云非付费内容爬取器(声明:由于技术十分简单,未到触犯软件使用规则的程度)驱动E
- 解决SQL2000最大流水号的两个好方法问:请问怎样才能解决ms serer 2000 最大流水号的问题?答:我可以介绍两种方法给你:方法1
- 本文是小编针对js保留两位小数这个大家经常遇到的经典问题整理了在各种情况下的函数写法以及遇到问题的分析,以下是全部内容:一、我们首先从经典的
- 目录简单的验证码简单的登录页面我们经常在登录一个网站,或者注册的时候需要输入一个验证码,有时候觉得很烦,因为有些验证码不仅复杂还看不清,许多
- 本文实例讲述了Python实现获取照片拍摄日期并重命名的方法。分享给大家供大家参考,具体如下:python获取照片的拍摄日期并重命名。不支持
- 密码学俱乐部的第一条规则是:永远不要自己发明密码系统。密码学俱乐部的第二条规则是:永远不要自己实现密码系统:在现实世界中,在实现以及设计密码
- 一、方框滤波 方框滤波是均值滤波的一种形式。在均值滤波中,滤波结果的像素值是任意一个点的邻域平均值,等于各邻域像素值之和的均值,而在方框
- 很多组织机构慢慢的在不同的服务器和地点部署SQL Server数据库——为各种应用和目的&m
- 说明1、导入模块pyplot,并指定别名plt,以避免重复输入pyplot。模块化pyplot包含许多用于制作图表的功能。2、将绘制的直线坐
- 设计师不等于美工设计无所不在,但大多数企业不知道如何使用它。现代设计进入中国大概是二十多年的时间,而在国外,尤其在美国在欧洲,大概有一百年的
- django静态文件配置原理静态文件配置就是为了让用户请求时django服务器能找到静态文件返回。首先要理解几个概念:媒体文件:用户上传的文
- 本文实例讲述了Python实现将HTML转换成doc格式文件的方法。分享给大家供大家参考,具体如下:网页上的一些文章,因为有格式的原因,它们
- 现在需要将course分组,然后选择出每一组里面的最大值和最小值,并保留下来实现下面数据结果:直接使用groupby函数,不能直接达到此效果
- 如何用JAVASCRIPT格式化数字成货币那种表示法?,比如说 34585962.00显示 为 34,585,962.00<scrip