Pandas實現(xiàn)(pivot_table函數(shù))數(shù)據(jù)透視表方式
Pandas (pivot_table函數(shù))數(shù)據(jù)透視表
使用pandas中的pivot_table()實現(xiàn)數(shù)據(jù)透視表。
語法格式如下:
pd.pivot_table(data,values=None,index=None, columns=None,aggfunc='mean',fill_value=None,margins=False,dropna=True, margins_name='All')
pd.pivot_table()有四個最重要的參數(shù)index、values、columns、aggfunc。
四個最重要參數(shù)解析
index:
- 相當(dāng)于SQL里的group by用于分組的字段,相當(dāng)于行索引。
- index也是層次字段,要通過透視表獲取什么信息就按照相應(yīng)的順序設(shè)置字段。
pd.pivot_table(data,index=['列名1','列名2'])
values:
- 相當(dāng)于SQL里對列進(jìn)行聚合計算
- 對需要的計算數(shù)據(jù)進(jìn)行篩選
pd.pivot_table(data,index=['列名1','列名2'],values=['計算列名1','計算列名2','計算列名3'])
columns:
- columns類似index可以設(shè)置列層次字段
- 它不是一個必要參數(shù),作為一種分割數(shù)據(jù)的可選方式
pd.pivot_table(data,index=['列名1','列名2'], values=['計算列名1','計算列名2','計算列名3'],columns=['列名3'])
aggfunc:
- aggfunc參數(shù)可以設(shè)置對數(shù)據(jù)聚合時進(jìn)行的函數(shù)操作。
- 對于aggfunc參數(shù),操作的是values后面的值,而不是columns后面的值。
- 分別對values參數(shù)中的每一列都進(jìn)行求和與求平均值。
pd.pivot_table(data,index=['列名1','列名2'], values=['計算列名1','計算列名2','計算列名3'],aggfunc=[np.sum,np.mean])
fill_value:當(dāng)數(shù)據(jù)為空時,填充的指定值。fill_value=0
注意:
- aggfunc也可以使用dict類型,這樣可以指定values中每一列的聚合函數(shù)。
- 如果dict中的內(nèi)容與values不匹配時,以dict中為準(zhǔn)。
table=pd.pivot_table(data,index=['列名1','列名2'],columns=['列名3'], values=['計算列名1','計算列名2','計算列名3'], aggfunc={'計算列名1':np.mean,'計算列名2':[min, max, np.mean]},fill_value=0)
結(jié)果就是’計算列名2’求min,max和mean,'計算列名1’求mean,而’計算列名3’沒有顯示。
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
對python numpy.array插入一行或一列的方法詳解
今天小編就為大家分享一篇對python numpy.array插入一行或一列的方法詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-01-01Python函數(shù)關(guān)鍵字參數(shù)及用法詳解
本文主要介紹了Python函數(shù)關(guān)鍵字參數(shù)及用法詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03python實現(xiàn)網(wǎng)上購物系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了python實現(xiàn)網(wǎng)上購物系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-06-06