小蛇學(xué)python(18)pandas的數(shù)據(jù)聚合與分組計(jì)算

對(duì)數(shù)據(jù)集進(jìn)行分組并對(duì)各組應(yīng)用一個(gè)函數(shù),這是數(shù)據(jù)分析工作的重要環(huán)節(jié)。在將數(shù)據(jù)集準(zhǔn)備好之后,通常的任務(wù)就是計(jì)算分組統(tǒng)計(jì)或生成透視表。pandas提供了一個(gè)高效的groupby功能,它使你能以一種自然的方式對(duì)數(shù)據(jù)集進(jìn)行切片、切塊、摘要等操作。

groupby的簡(jiǎn)單介紹

image.png

變量grouped是一個(gè)GroupBy對(duì)象。它還沒有進(jìn)行計(jì)算,但是已經(jīng)分組完畢。

image.png

以上是對(duì)已經(jīng)分組完畢的變量的一些計(jì)算,同時(shí)還涉及到層次化索引以及層次化索引的展開。

groupby還有更加簡(jiǎn)便得使用方法。

image.png

你一定注意到,在執(zhí)行上面一行代碼時(shí),結(jié)果中沒有key2列,這是因?yàn)樵摿械膬?nèi)容不是數(shù)值,俗稱麻煩列,所以被從結(jié)果中排除了。

無(wú)論你準(zhǔn)備拿groupby做什么,都會(huì)用到size方法,它可以返回一個(gè)含有分組大小的Series。

image.png

對(duì)分組進(jìn)行迭代

以下是單鍵值情況

image.png

以下是按由多個(gè)鍵值構(gòu)成元組的分組情況

image.png

通過這兩個(gè)操作分析得知,第一行打印出來(lái)的是分組所根據(jù)的鍵值,緊接是按照此分組鍵值或者鍵值對(duì)得到的分組。

通過字典進(jìn)行分組

image.png

通過函數(shù)進(jìn)行分組

這是一個(gè)極具python特色的功能。

image.png

如果你想使用的自己的聚合函數(shù),只需要將其傳入aggregate或者agg方法即可。

image.png

還有describe方法,嚴(yán)格來(lái)講它不是聚類運(yùn)算,它很好的描述了一個(gè)數(shù)據(jù)集的分組分布情況。

image.png

總結(jié)一下常用的分組聚類函數(shù)。

函數(shù)名 說明
count 分組中的非NA的值的數(shù)量
sum 非NA值的和
mean 非NA值得平均值
median 非NA值的算術(shù)中位數(shù)
std var 標(biāo)準(zhǔn)差,方差
max min 最大值,最小值
prod 非NA值的積
first last 第一個(gè)和最后一個(gè)非NA值

更加高階的運(yùn)用

我們拿到一個(gè)表格,想添加一個(gè)用于存放各索引分組平均值的列。我們可以利用以前學(xué)習(xí)pandas的表格合并的知識(shí),但是pandas也給我專門提供了更為簡(jiǎn)便的方法。

image.png

經(jīng)過以上操作,我們可以看出來(lái),凡是key是按照one分組的,如今在people列表里都變成了one里的平均值。這時(shí)候我們?cè)僮远x函數(shù)。

image.png

這樣就實(shí)現(xiàn)了,people表格里的數(shù)據(jù)減去同類型數(shù)據(jù)平均值的功能。這個(gè)功能叫做距平化,是一個(gè)經(jīng)常使用的操作。是不是很神奇,如果不相信,我們可以來(lái)驗(yàn)證一下,按理說減去平均值后,數(shù)據(jù)的平均值會(huì)變成零。

image.png

可以看出來(lái),就算不為零,也是很小的數(shù)。至于為什么不準(zhǔn)確為零,這是由于python的float浮點(diǎn)類型數(shù)據(jù)自身不夠精確的問題,不在我們討論之內(nèi)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容