4 pandas統計分析基礎 下

2021-10-08 12:35:13 字數 2883 閱讀 8000

4.4.2 使用agg方法聚合資料

4.4.4 使用transform方法聚合資料

4.5 建立透視表與交叉表

4.5.2 使用crosstab函式建立交叉表

該方法提供的是分組聚合步驟中的拆分功能,能根據索引或字段對資料進行分組。其常用引數與使用格式如下。

用groupby方法分組後的結果並不能直接檢視,而是被存在記憶體中,輸出的是記憶體位址。實際上分組後的資料物件groupby類似series與dataframe,是pandas提供的一種物件。groupby物件常用的描述性統計方法如下。

agg,aggregate方法都支援對每個分組應用某函式,包括python內建函式或自定義函式。同時這兩個方法能夠也能夠直接對dataframe進行函式應用操作。

在正常使用過程中,agg函式和aggregate函式對dataframe物件操作時功能幾乎完全相同,因此只需要掌握其中乙個函式即可。它們的引數說明如下表。

可以使用agg方法一次求出當前資料中所有菜品銷量和售價的總和與均值,如detail[['counts','amounts']].agg([np.sum,np.mean]))。

對於某個字段希望只做求均值操作,而對另乙個欄位則希望只做求和操作,可以使用字典的方式,將兩個欄位名分別作為key,然後將numpy庫的求和與求均值的函式分別作為value,如detail.agg())。

在某些時候還希望求出某個欄位的多個統計量,某些欄位則只需要求乙個統計量,此時只需要將字典對應key的value變為列表,列表元素為多個目標的統計量即可,如detail.agg())

在agg方法可傳入讀者自定義的函式。

使用自定義函式需要注意的是numpy庫中的函式np.mean,np.median,np.prod,np.sum,np.std,np.var能夠在agg中直接使用,但是在自定義函式中使用numpy庫中的這些函式,如果計算的時候是單個序列則會無法得出想要的結果,如果是多列資料同時計算則不會出現這種問題。

使用agg方法能夠實現對每乙個欄位每一組使用相同的函式。

如果需要對不同的字段應用不同的函式,則可以和dataframe中使用agg方法相同。

transform方法能夠對整個dataframe的所有元素進行操作。且transform方法只有乙個引數「func」,表示對dataframe操作的函式。

同時transform方法還能夠對dataframe分組後的物件groupby進行操作,可以實現組內離差標準化等操作。

若在計算離差標準化的時候結果中有nan,這是由於根據離差標準化公式,最大值和最小值相同的情況下分母是0。而分母為0的數在python中表示為nan。

利用pivot_table函式可以實現透視表,pivot_table()函式的常用引數及其使用格式如下。

在不特殊指定聚合函式aggfunc時,會預設使用numpy.mean進行聚合運算,numpy.mean會自動過濾掉非數值型別資料。可以通過指定aggfunc引數修改聚合函式。

和groupby方法分組的時候相同,pivot_table函式在建立透視表的時候分組鍵index可以有多個。

通過設定columns引數可以指定列分組。

當全部資料列數很多時,若只想要顯示某列,可以通過指定values引數來實現。

當某些資料不存在時,會自動填充nan,因此可以指定fill_value引數,表示當存在缺失值時,以指定數值進行填充。

可以更改margins引數,檢視彙總資料。

交叉表是一種特殊的透視表,主要用於計算分組頻率。利用pandas提供的crosstab函式可以製作交叉表,crosstab函式的常用引數和使用格式如下。

由於交叉表是透視表的一種,其引數基本保持一致,不同之處在於crosstab函式中的index,columns,values填入的都是對應的從dataframe中取出的某一列。

pandas統計分析基礎(2)

pandas描述性統計方法的常見方法 方法統計含義 方法統計含義 min最小值 max最大值 mean 均值count 非空數目 median 中位數mode 眾數std 標準差var 方差cov 協方差ptp 極差skew 樣本偏度 kurt 樣本峰度 sem標準誤差 quantile 四分位數 ...

pandas的統計分析

import pandas as pd import numpy as np data pd.read excel meal order detail.xlsx print data n data print data 的列索引 n data.columns print data 的資料型別 n d...

Pandas統計分析基礎之DataFrame

3 更改dataframe中的資料 4 增加dataframe中的資料 刪除dataframe中的資料 dataframe類似於資料庫的表或者excel的 panda將資料讀取之後,以dataframe的資料結構儲存在記憶體中。下面就來介紹一下dataframe的增刪查改操作。因為dataframe...