使用分組聚合進行組內(nèi)計算_第1頁
使用分組聚合進行組內(nèi)計算_第2頁
使用分組聚合進行組內(nèi)計算_第3頁
使用分組聚合進行組內(nèi)計算_第4頁
使用分組聚合進行組內(nèi)計算_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

付費下載

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

數(shù)據(jù)挖掘技術(shù)與應(yīng)用1創(chuàng)建透視表與交叉表目錄使用分組聚合進行組內(nèi)計算2小結(jié)3該方法提供的是分組聚合步驟中的拆分功能,能根據(jù)索引或字段對數(shù)據(jù)進行分組。其常用參數(shù)與使用格式如下。

DataFrame.groupby(by=None,axis=0,level=None,as_index=True,sort=True,group_keys=True,squeeze=False,**kwargs)使用groupby方法拆分?jǐn)?shù)據(jù)groupby方法的參數(shù)及其說明參數(shù)名稱說明by接收list,string,mapping或generator。用于確定進行分組的依據(jù)。無默認(rèn)。axis接收int。表示操作的軸向,默認(rèn)對列進行操作。默認(rèn)為0。level接收int或者索引名。代表標(biāo)簽所在級別。默認(rèn)為None。as_index接收boolearn。表示聚合后的聚合標(biāo)簽是否以DataFrame索引形式輸出。默認(rèn)為True。sort接收boolearn。表示是否對分組依據(jù)分組標(biāo)簽進行排序。默認(rèn)為True。group_keys接收boolearn。表示是否顯示分組標(biāo)簽的名稱。默認(rèn)為True。squeeze接收boolearn。表示是否在允許的情況下對返回數(shù)據(jù)進行降維。默認(rèn)為False。如果傳入的是一個函數(shù)則對索引進行計算并分組。如果傳入的是一個字典或者Series則字典或者Series的值用來做分組依據(jù)。如果傳入一個NumPy數(shù)組則數(shù)據(jù)的元素作為分組依據(jù)。如果傳入的是字符串或者字符串列表則使用這些字符串所代表的字段作為分組依據(jù)。使用groupby方法拆分?jǐn)?shù)據(jù)groupby方法的參數(shù)及其說明——by參數(shù)的特別說明用groupby方法分組后的結(jié)果并不能直接查看,而是被存在內(nèi)存中,輸出的是內(nèi)存地址。實際上分組后的數(shù)據(jù)對象GroupBy類似Series與DataFrame,是pandas提供的一種對象。GroupBy對象常用的描述性統(tǒng)計方法如下。使用groupby方法拆分?jǐn)?shù)據(jù)GroupBy對象常用的描述性統(tǒng)計方法方法名稱說明方法名稱說明count計算分組的數(shù)目,包括缺失值。cumcount對每個分組中組員的進行標(biāo)記,0至n-1。head返回每組的前n個值。size返回每組的大小。max返回每組最大值。min返回每組最小值。mean返回每組的均值。std返回每組的標(biāo)準(zhǔn)差。median返回每組的中位數(shù)。sum返回每組的和。agg,aggregate方法都支持對每個分組應(yīng)用某函數(shù),包括Python內(nèi)置函數(shù)或自定義函數(shù)。同時這兩個方法能夠也能夠直接對DataFrame進行函數(shù)應(yīng)用操作。在正常使用過程中,agg函數(shù)和aggregate函數(shù)對DataFrame對象操作時功能幾乎完全相同,因此只需要掌握其中一個函數(shù)即可。它們的參數(shù)說明如下表。DataFrame.agg(func,axis=0,*args,**kwargs)DataFrame.aggregate(func,axis=0,*args,**kwargs)使用agg方法聚合數(shù)據(jù)agg和aggregate函數(shù)參數(shù)及其說明參數(shù)名稱說明func接收list、dict、function。表示應(yīng)用于每行/每列的函數(shù)。無默認(rèn)。axis接收0或1。代表操作的軸向。默認(rèn)為0??梢允褂胊gg方法一次求出當(dāng)前數(shù)據(jù)中所有菜品銷量和售價的總和與均值,如detail[['counts','amounts']].agg([np.sum,np.mean]))。對于某個字段希望只做求均值操作,而對另一個字段則希望只做求和操作,可以使用字典的方式,將兩個字段名分別作為key,然后將NumPy庫的求和與求均值的函數(shù)分別作為value,如detail.agg({'counts':np.sum,'amounts':np.mean}))。在某些時候還希望求出某個字段的多個統(tǒng)計量,某些字段則只需要求一個統(tǒng)計量,此時只需要將字典對應(yīng)key的value變?yōu)榱斜恚斜碓貫槎鄠€目標(biāo)的統(tǒng)計量即可,如detail.agg({'counts':np.sum,'amounts':[np.mean,np.sum]}))使用agg方法聚合數(shù)據(jù)agg方法求統(tǒng)計量在agg方法可傳入讀者自定義的函數(shù)。使用自定義函數(shù)需要注意的是NumPy庫中的函數(shù)np.mean,np.median,d,np.sum,np.std,np.var能夠在agg中直接使用,但是在自定義函數(shù)中使用NumPy庫中的這些函數(shù),如果計算的時候是單個序列則會無法得出想要的結(jié)果,如果是多列數(shù)據(jù)同時計算則不會出現(xiàn)這種問題。使用agg方法能夠?qū)崿F(xiàn)對每一個字段每一組使用相同的函數(shù)。如果需要對不同的字段應(yīng)用不同的函數(shù),則可以和Dataframe中使用agg方法相同。使用agg方法聚合數(shù)據(jù)agg方法與自定義的函數(shù)apply方法類似agg方法能夠?qū)⒑瘮?shù)應(yīng)用于每一列。不同之處在于apply方法相比agg方法傳入的函數(shù)只能夠作用于整個DataFrame或者Series,而無法像agg一樣能夠?qū)Σ煌侄?,?yīng)用不同函數(shù)獲取不同結(jié)果。使用apply方法對GroupBy對象進行聚合操作其方法和agg方法也相同,只是使用agg方法能夠?qū)崿F(xiàn)對不同的字段進行應(yīng)用不同的函數(shù),而apply則不行。使用apply方法聚合數(shù)據(jù)applyDataFrame.apply(func,axis=0,broadcast=False,raw=False,reduce=None,args=(),**kwds)使用apply方法聚合數(shù)據(jù)參數(shù)名稱說明func接收functions。表示應(yīng)用于每行/列的函數(shù)。無默認(rèn)。axis接收0或1。代表操作的軸向。默認(rèn)為0。broadcast接收boolearn。表示是否進行廣播。默認(rèn)為False。raw接收boolearn。表示是否直接將ndarray對象傳遞給函數(shù)。默認(rèn)為False。reduce接收boolearn或者None。表示返回值的格式。默認(rèn)None。transform方法能夠?qū)φ麄€DataFrame的所有元素進行操作。且transform方法只有一個參數(shù)“func”,表示對DataFrame操作的函數(shù)。同時transform方法還能夠?qū)a

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論