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 pd
df01 = pd.DataFrame(
{
"年份":[2019,2019,2019,2020,2020,2020],
"平臺(tái)":["京東","淘寶","拼多多","京東","淘寶","拼多多"],
"銷(xiāo)量":[100,200,300,400,500,600]
}
)
df01
#%%
pd.pivot(df01,
index = "年份",
columns = "平臺(tái)",
values = "銷(xiāo)量")
#%%
聚合后結(jié)果

Pivot_table函數(shù)的使用演示
注釋?zhuān)篿ndex指定什么元素作為index顯示,columns指定列,values指定統(tǒng)計(jì)的值。一般values都為int后者float類(lèi)型的值。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)":["京東","淘寶","淘寶","拼多多","京東","淘寶","拼多多","拼多多"],
"銷(xiāo)量":[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="銷(xiāo)量",
aggfunc=sum #聚合函數(shù)來(lái)對(duì)銷(xiāo)量進(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)化type
df.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í)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python使用fliecmp實(shí)現(xiàn)比較文件的操作
對(duì)于文件的比較一般有幾種,比如比較文件的內(nèi)容,比較文件的大小,或者直接對(duì)比整個(gè)項(xiàng)目文件,本文就詳細(xì)的介紹這些方法的實(shí)現(xiàn),感興趣的可以了解一下2021-06-06
django admin實(shí)現(xiàn)動(dòng)態(tài)多選框表單的示例代碼
借助django-admin,可以快速得到CRUD界面,但若需要?jiǎng)?chuàng)建多選標(biāo)簽字段時(shí),需要對(duì)表單進(jìn)行調(diào)整,本文通過(guò)示例代碼給大家介紹django admin多選框表單的實(shí)現(xiàn)方法,感興趣的朋友跟隨小編一起看看吧2021-05-05
Python在終端通過(guò)pip安裝好包以后在Pycharm中依然無(wú)法使用的問(wèn)題(三種解決方案)
這篇文章主要介紹了Python在終端通過(guò)pip安裝好包以后在Pycharm中依然無(wú)法使用的問(wèn)題及解決方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-03-03
python使用reportlab畫(huà)圖示例(含中文漢字)
這篇文章主要介紹了python使用reportlab畫(huà)圖示例,大家參考使用吧2013-12-12
tensorflow安裝成功import tensorflow 出現(xiàn)問(wèn)題
這篇文章主要介紹了tensorflow安裝成功import tensorflow 出現(xiàn)問(wèn)題,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04
十行Python3代碼實(shí)現(xiàn)把情書(shū)寫(xiě)到圖片中
這篇文章主要為大家介紹了如何利用Python語(yǔ)言實(shí)現(xiàn)將情書(shū)寫(xiě)到照片中,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起了解一下2022-04-04
python?pycharm安裝第三方包失敗(使用pip安裝失敗)的解決方案
這篇文章主要給大家介紹了關(guān)于python?pycharm安裝第三方包失敗(使用pip安裝失敗)的解決方案,文中將可能遇到的幾種情況都進(jìn)行了分析并給出了詳細(xì)的解決方案,需要的朋友可以參考下2023-11-11

