更新時間:2022-11-01 來源:黑馬程序員 瀏覽量:
分組聚合的第一個步驟是將數(shù)據(jù)拆分成組。在Pandas中,可以通過groupby()方法將數(shù)據(jù)集按照某些標準劃分成若干個組,該方法的語法格式如下:
groupby(by=None, axis=0, level=None, as_index=True, sort=True, group_keys=True, squeeze=False, observed=False, **kwargs)
部分參數(shù)表示的含義如下:
(1)by:用于確定進行分組的依據(jù)。
(2)axis:表示分組軸的方向,可以為0(表示按行)或1(表示按例),默認為0。
(3)level:如果某個軸是一個MultiIndex對象(索引層次結(jié)構(gòu)),則會按特定級別或多個級別分組。
(4)as_index:表示聚合后的數(shù)據(jù)是否以組為標簽作為索引的DataFrame對象輸出,接收布爾值,默認為True。
(5)sort:表示是否對分組標簽進行排序,接收布爾值,默認為True。
通過groupby()方法執(zhí)行分組操作,會返回一個GroupBy對象,該對象實際上并沒有進行任何計算,只是包含一些關(guān)于分組鍵(比如df_obj[ 'key1'])的中間數(shù)據(jù)而已。一般,使用Series調(diào)用groupby()方法返回的是SeriesGroupBy對象,而使用DataFrame調(diào)用groupby()方法返回的是DataFrameBy對象。
在進行分組時,可以通過groupby()方法的by參數(shù)來指定按什么標準分組,by參數(shù)可以接收的數(shù)據(jù)有多種形式,類型也不必相同,常用的分組方式主要有以下4種:
◆列表或數(shù)組,其長度必須與待分組的軸一樣。
◆DtaFrame對象中某列的名稱。
◆字典或Series對象,給出待分組軸上的值與分組名稱之間的對應關(guān)系。
◆函數(shù),用于處理軸索引或索引中的各個標簽。