首頁(yè)技術(shù)文章正文

Python數(shù)據(jù)聚合與分組運(yùn)算:通過groupby()方法將數(shù)據(jù)拆分成組

更新時(shí)間:2022-11-01 來(lái)源:黑馬程序員 瀏覽量:

IT培訓(xùn)班

  分組聚合的第一個(gè)步驟是將數(shù)據(jù)拆分成組。在Pandas中,可以通過groupby()方法將數(shù)據(jù)集按照某些標(biāo)準(zhǔn)劃分成若干個(gè)組,該方法的語(yǔ)法格式如下:

groupby(by=None, axis=0, level=None, as_index=True, sort=True,
        group_keys=True, squeeze=False, observed=False, **kwargs)

  部分參數(shù)表示的含義如下:

  (1)by:用于確定進(jìn)行分組的依據(jù)。

  (2)axis:表示分組軸的方向,可以為0(表示按行)或1(表示按例),默認(rèn)為0。

  (3)level:如果某個(gè)軸是一個(gè)MultiIndex對(duì)象(索引層次結(jié)構(gòu)),則會(huì)按特定級(jí)別或多個(gè)級(jí)別分組。

  (4)as_index:表示聚合后的數(shù)據(jù)是否以組為標(biāo)簽作為索引的DataFrame對(duì)象輸出,接收布爾值,默認(rèn)為True。

  (5)sort:表示是否對(duì)分組標(biāo)簽進(jìn)行排序,接收布爾值,默認(rèn)為True。

  通過groupby()方法執(zhí)行分組操作,會(huì)返回一個(gè)GroupBy對(duì)象,該對(duì)象實(shí)際上并沒有進(jìn)行任何計(jì)算,只是包含一些關(guān)于分組鍵(比如df_obj[ 'key1'])的中間數(shù)據(jù)而已。一般,使用Series調(diào)用groupby()方法返回的是SeriesGroupBy對(duì)象,而使用DataFrame調(diào)用groupby()方法返回的是DataFrameBy對(duì)象。

  在進(jìn)行分組時(shí),可以通過groupby()方法的by參數(shù)來(lái)指定按什么標(biāo)準(zhǔn)分組,by參數(shù)可以接收的數(shù)據(jù)有多種形式,類型也不必相同,常用的分組方式主要有以下4種:

  ◆列表或數(shù)組,其長(zhǎng)度必須與待分組的軸一樣。

  ◆DtaFrame對(duì)象中某列的名稱。

  ◆字典或Series對(duì)象,給出待分組軸上的值與分組名稱之間的對(duì)應(yīng)關(guān)系。

  ◆函數(shù),用于處理軸索引或索引中的各個(gè)標(biāo)簽。

分享到:
在線咨詢 我要報(bào)名
和我們?cè)诰€交談!