01 日常需求
今天我們繼續(xù)對(duì)Python中pandas包進(jìn)行學(xué)習(xí)别洪。
在我們的日常生活中飘弧,常常會(huì)出現(xiàn)一些需求榄笙,比如:
各品種冬棗的平均大小是多少邪狞?
各班級(jí)學(xué)生的語(yǔ)文最高分是多少?
各品牌手機(jī)的最高最低價(jià)格是多少茅撞?
等等
在這些需求中帆卓,都出現(xiàn)了分組統(tǒng)計(jì)的影子,對(duì)于小數(shù)據(jù)量米丘,我們可以手動(dòng)計(jì)算或者進(jìn)入excel表計(jì)算剑令,但對(duì)于大數(shù)據(jù)量的分組運(yùn)算,就需要Python出馬了拄查。
02 出鏡率極高的groupby
在Python中吁津,分組聚合函數(shù)是groupby,它的執(zhí)行原理很簡(jiǎn)單:
- 分拆堕扶,將數(shù)據(jù)按照規(guī)定的列進(jìn)行拆分碍脏,比如按照班級(jí)名拆分
- 應(yīng)用,將拆分后的數(shù)據(jù)應(yīng)用于某個(gè)指定函數(shù)挣柬,比如求平均值潮酒,這個(gè)函數(shù)可以是內(nèi)置的睛挚,也可以是自定義的
- 匯總邪蛔,將計(jì)算結(jié)果匯總在一起,作為最終結(jié)果
今天的練習(xí)主要針對(duì)groupby后的分組數(shù)據(jù)進(jìn)行聚合扎狱,分為一下三點(diǎn)練習(xí)
- 調(diào)用內(nèi)置函數(shù)侧到,如min(), max() mean()
- 調(diào)用自定義函數(shù),函數(shù)自定義好之后淤击,使用agg()調(diào)用即可匠抗,可以調(diào)用多個(gè)函數(shù),如agg([func1,func2])污抬,func可以是內(nèi)置的汞贸,內(nèi)置時(shí)需要加引號(hào),agg()只能針對(duì)一維數(shù)組
- 使用apply()可以調(diào)用更復(fù)雜的自定義函數(shù)印机,如排序矢腻、取前n個(gè)值等
03 練習(xí)代碼
同樣地,為了更好的排版和可視化效果射赛,我將代碼放在了github上多柑,代碼中詳細(xì)講解了groupby的運(yùn)行規(guī)則和具體使用方法,歡迎朋友們點(diǎn)擊查看交流楣责。
練習(xí)代碼
推薦電腦端查看哦