来源:自学PHP网 时间:2020-09-27 14:45 作者:小飞侠 阅读:次
[导读] Python Pivot table透视表使用方法解析...
今天带来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!!!")
|
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com