Python Pivot table透視表使用方法解析
Pivot 及 Pivot_table函數(shù)用法
Pivot和Pivot_table函數(shù)都是對(duì)數(shù)據(jù)做透視表而使用的。其中的區(qū)別在于Pivot_table可以支持重復(fù)元素的聚合操作,而Pivot函數(shù)只能對(duì)不重復(fù)的元素進(jìn)行聚合操作。
在一般的日常業(yè)務(wù)中,因?yàn)镻ivot_table的功能更為強(qiáng)大,Pivot能做的不能做的Pivot_table都可做。所以只需要記住Pivot_table函數(shù)用法就好了。
Pivot函數(shù)的使用演示
#%%import pandas as pddf01 = pd.DataFrame( { '年份':[2019,2019,2019,2020,2020,2020], '平臺(tái)':['京東','淘寶','拼多多','京東','淘寶','拼多多'], '銷量':[100,200,300,400,500,600] })df01#%%pd.pivot(df01, index = '年份', columns = '平臺(tái)', values = '銷量')#%%
聚合后結(jié)果
Pivot_table函數(shù)的使用演示
注釋:index指定什么元素作為index顯示,columns指定列,values指定統(tǒng)計(jì)的值。一般values都為int后者float類型的值。aggfunc為聚合函數(shù)可以指定(mean,sum,Min,Max等統(tǒng)計(jì)運(yùn)算等函數(shù),如果不指定默認(rèn)為mean均值)
df02 = pd.DataFrame( { '年份':[2019,2019,2019,2019,2020,2020,2020,2020], '平臺(tái)':['京東','淘寶','淘寶','拼多多','京東','淘寶','拼多多','拼多多'], '銷量':[100,200,300,400,500,600,700,800] })df02#%%#pivot_table用的很多.因?yàn)榭梢詫?duì)重復(fù)的元素進(jìn)行聚合操作.而pivot函數(shù)只能對(duì)不重復(fù)的行進(jìn)行運(yùn)算pd.pivot_table(df02,index='年份',columns='平臺(tái)',values='銷量',aggfunc=sum #聚合函數(shù)來(lái)對(duì)銷量進(jìn)行運(yùn)算.可以指定最大,最小,平均值等函數(shù).默認(rèn)為mean平均值)#%%
聚合結(jié)果
對(duì)比結(jié)果:這里要強(qiáng)調(diào)一點(diǎn)的是,2020年平臺(tái)為拼多多的數(shù)據(jù)出現(xiàn)了2次,而且2次的值不同。在pivot函數(shù)中是無(wú)法對(duì)這種重復(fù)平臺(tái)的數(shù)據(jù)進(jìn)行聚合的,但是Pivot_table則可以。
另外通過(guò)聚合函數(shù)aggfunc指定sum求和,可以把2次的值累加統(tǒng)計(jì)。
Pivot_table函數(shù)真實(shí)案例演示
1. 讀取表格數(shù)據(jù)
#%%df = pd.read_excel('./datas/result_datas.xlsx', ).convert_dtypes() #讀取數(shù)據(jù)并自動(dòng)轉(zhuǎn)化typedf.dtypes#%%df.head(3)#%%
2. 通過(guò)Pivot_table函數(shù)透視合并數(shù)據(jù)并對(duì)金額和數(shù)量做統(tǒng)計(jì)
因?yàn)樯婕暗矫舾行畔ⅲ虼朔?wù)卡卡號(hào)等敏感信息部分遮掩不顯示。但是通過(guò)部分結(jié)果也可以看出是按照號(hào)碼進(jìn)行升序排序的
#按照自定義指定index,columns,values值result = pd.pivot_table(df,index = ['姓名','服務(wù)卡卡號(hào)','明細(xì)','規(guī)格'],values = ['理賠金額(元)','數(shù)量'],aggfunc=sum)result = result.sort_values('服務(wù)卡卡號(hào)') #按照指定values值排序result#%%#輸出到文件result.to_excel('./datas/output_datas.xlsx')print('Done!!!')
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. css代碼優(yōu)化的12個(gè)技巧2. .NET SkiaSharp 生成二維碼驗(yàn)證碼及指定區(qū)域截取方法實(shí)現(xiàn)3. jsp網(wǎng)頁(yè)實(shí)現(xiàn)貪吃蛇小游戲4. CentOS郵件服務(wù)器搭建系列—— POP / IMAP 服務(wù)器的構(gòu)建( Dovecot )5. MyBatis JdbcType 與Oracle、MySql數(shù)據(jù)類型對(duì)應(yīng)關(guān)系說(shuō)明6. 在JSP中使用formatNumber控制要顯示的小數(shù)位數(shù)方法7. 存儲(chǔ)于xml中需要的HTML轉(zhuǎn)義代碼8. ASP中實(shí)現(xiàn)字符部位類似.NET里String對(duì)象的PadLeft和PadRight函數(shù)9. ASP中if語(yǔ)句、select 、while循環(huán)的使用方法10. ASP基礎(chǔ)入門第八篇(ASP內(nèi)建對(duì)象Application和Session)
