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