Pandas實(shí)現(xiàn)(pivot_table函數(shù))數(shù)據(jù)透視表方式
Pandas (pivot_table函數(shù))數(shù)據(jù)透視表
使用pandas中的pivot_table()實(shí)現(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()有四個(gè)最重要的參數(shù)index、values、columns、aggfunc。
四個(gè)最重要參數(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)行聚合計(jì)算
- 對需要的計(jì)算數(shù)據(jù)進(jìn)行篩選
pd.pivot_table(data,index=['列名1','列名2'],values=['計(jì)算列名1','計(jì)算列名2','計(jì)算列名3'])
columns:
- columns類似index可以設(shè)置列層次字段
- 它不是一個(gè)必要參數(shù),作為一種分割數(shù)據(jù)的可選方式
pd.pivot_table(data,index=['列名1','列名2'], values=['計(jì)算列名1','計(jì)算列名2','計(jì)算列名3'],columns=['列名3'])
aggfunc:
- aggfunc參數(shù)可以設(shè)置對數(shù)據(jù)聚合時(shí)進(jìn)行的函數(shù)操作。
- 對于aggfunc參數(shù),操作的是values后面的值,而不是columns后面的值。
- 分別對values參數(shù)中的每一列都進(jìn)行求和與求平均值。
pd.pivot_table(data,index=['列名1','列名2'], values=['計(jì)算列名1','計(jì)算列名2','計(jì)算列名3'],aggfunc=[np.sum,np.mean])
fill_value:當(dāng)數(shù)據(jù)為空時(shí),填充的指定值。fill_value=0
注意:
- aggfunc也可以使用dict類型,這樣可以指定values中每一列的聚合函數(shù)。
- 如果dict中的內(nèi)容與values不匹配時(shí),以dict中為準(zhǔn)。
table=pd.pivot_table(data,index=['列名1','列名2'],columns=['列名3'],
values=['計(jì)算列名1','計(jì)算列名2','計(jì)算列名3'],
aggfunc={'計(jì)算列名1':np.mean,'計(jì)算列名2':[min, max, np.mean]},fill_value=0)結(jié)果就是’計(jì)算列名2’求min,max和mean,'計(jì)算列名1’求mean,而’計(jì)算列名3’沒有顯示。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
numpy中np.nanmax和np.max的區(qū)別及坑
這篇文章主要介紹了numpy中np.nanmax和np.max的區(qū)別及坑,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-02-02
Python Pandas批量讀取csv文件到dataframe的方法
這篇文章主要介紹了Python Pandas批量讀取csv文件到dataframe的方法,需要的朋友可以參考下2018-10-10
使用python的Flask框架進(jìn)行上傳和下載文件詳解
這篇文章主要介紹了使用python的Flask框架進(jìn)行上傳和下載文件詳解,Flask是一個(gè)使用Pyhton編寫的輕量級Web應(yīng)用框架,工具包采用Werkzeug,模板引擎則使用Jinja2,是目前十分流行的web框架,需要的朋友可以參考下2023-07-07
解決python3中os.popen()出錯(cuò)的問題
在本篇文章里小編給大家整理的是一篇關(guān)于解決python3中os.popen()出錯(cuò)的問題的相關(guān)內(nèi)容,有興趣的朋友們可以參考下。2020-11-11
對numpy中的transpose和swapaxes函數(shù)詳解
今天小編就為大家分享一篇對numpy中的transpose和swapaxes函數(shù)詳解,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-08-08
微信小程序前端如何調(diào)用python后端的模型詳解
近期需要開發(fā)一個(gè)打分的微信小程序,涉及到與后臺(tái)服務(wù)器的數(shù)據(jù)交互,這篇文章主要給大家介紹了關(guān)于微信小程序前端如何調(diào)用python后端模型的相關(guān)資料,需要的朋友可以參考下2022-04-04

