更新時間:2022-06-28 來源:黑馬程序員 瀏覽量:
今天的Python培訓(xùn)環(huán)節(jié),我們講一下分組與聚合操作。分組與聚合是數(shù)據(jù)分析中比較常見的操作。在Pandas中,分組是指使用特定的條件將原數(shù)據(jù)劃分為多個組;聚合在這里指的是對每個分組中的數(shù)據(jù)執(zhí)行某些操作(如聚合、轉(zhuǎn)換等),最后將計算的結(jié)果進(jìn)行整合。
分組與聚合(split-apply-combine)的過程大概分為三步,具體如下:
(1)拆分(split):將數(shù)據(jù)集按照一些標(biāo)準(zhǔn)拆分為若干個組。拆分操作是指在指定軸上進(jìn)行的,既可以對橫軸方向上的數(shù)據(jù)進(jìn)行分組,也可以對縱軸方向上的數(shù)據(jù)進(jìn)行分組。
(2)應(yīng)用(apply):將某個函數(shù)或方法(內(nèi)置和自定義均可)應(yīng)用到每個分組。
(3)合并(combine):將產(chǎn)生的新值整合到結(jié)果對象中。
接下來,通過一個示例來演示分組與聚合的整個過程,具體如圖5-1所示。
圖5-1 分組聚合過程示意圖
圖5-1使用求分組最大值的例子描述了分組與聚合的整個過程。在圖5-1中,最左邊是一個表格,該表格中“Key”列的數(shù)據(jù)只有“A”“B”“C”。按照Key列進(jìn)行分組,把該列中所有數(shù)據(jù)為“A”的分成一組,所有數(shù)據(jù)為“B”的分成一組,所有數(shù)據(jù)為“C”的分成一組,共分成三組,然后對每個分組執(zhí)行求最大值操作,計算出每個分組的最大值為18、10、16,此時每個分組中只有一個最大值,最后將所有分組的最大值整合在一起。