您的位置:首页技术文章
文章详情页

Python Pivot table透视表使用方法解析

【字号: 日期:2022-07-11 14:25:17浏览:5作者:猪猪

Pivot 及 Pivot_table函数用法

Pivot和Pivot_table函数都是对数据做透视表而使用的。其中的区别在于Pivot_table可以支持重复元素的聚合操作,而Pivot函数只能对不重复的元素进行聚合操作。

在一般的日常业务中,因为Pivot_table的功能更为强大,Pivot能做的不能做的Pivot_table都可做。所以只需要记住Pivot_table函数用法就好了。

Pivot函数的使用演示

#%%import pandas as pddf01 = 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() #读取数据并自动转化typedf.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 编程
相关文章: