當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python Pandas DataFrame agg方法用法及代碼示例


Pandas DataFrame.agg(~) 將指定的函數應用於 DataFrame 的每一行或每一列。

參數

1.func | stringlistdictfunction

用於聚合的函數:

類型

示例

function

np.sum

函數名稱為string

"mean"

functionstringlist

[np.sum, "mean"]

dict

{"A": np.sum}

可用於聚合的內置函數如下:

內置聚合

說明

sum

sum

prod

值的產物

size

值的數量

count

NaN 值的數量

mean

mean

var

variance

std

標準差

sem

均值的無偏標準誤

mad

平均絕對偏差

min

minimum

max

maximum

median

median

mode

mode

quantile

quantile

abs

絕對值

skew

無偏偏度

kurt

無偏峰度

cumsum

累計總和

cumprod

累積積

cummax

累積最大值

cummin

累積最小值

2. axis | intstring | optional

是否按列或按行應用函數:

說明

0"index"

func 將應用於每一列。

1"columns"

func 將應用於每一行。

默認情況下,axis=0

3.*args

要傳遞給 func 的位置參數。

4.**kwargs

要傳遞給 func 的關鍵字參數。

返回值

新的 scalarSeriesDataFrame 取決於傳遞的 func

例子

考慮以下 DataFrame :

df = pd.DataFrame({"A":[1,2], "B":[3,4]})
df



   A  B
0  1  3
1  2  4

計算單個聚合

計算每列的平均值:

df.agg("mean")      # Equivalent to df.agg(pd.np.mean)



A    1.5
B    3.5
dtype: float64

這裏,返回的數據類型是Series

計算多個聚合

計算每列的平均值和最小值:

df.agg(["mean", "min"])



      A    B
mean  1.5  3.5
min   1.0  3.0

這裏,返回的數據類型是DataFrame

計算列子集的聚合

要計算列 A 的最小值:

df.agg({"A":"min"})   # Returns a Series



A    1
dtype: int64

按行計算聚合

要計算每行的最大值,請像這樣設置axis=1

df.agg("max", axis=1)   # Returns a Series



0    3
1    4
dtype: int64

定義自定義聚合函數

考慮以下 DataFrame :

df = pd.DataFrame({"A":[1,2], "B":[3,4]})
df



   A  B
0  1  3
1  2  4

我們可以傳遞一個自定義函數作為聚合:

df.agg(lambda col: 2 * sum(col))



A    6
B   14
dtype: int64

這裏, xSeries ,表示 df 的列。

傳入附加參數

我們可以將附加參數傳遞給func,如下所示:

def foo(col, x):
 return col + x
df.agg(foo, x=5)



   A  B
0  6  8
1  7  9

相關用法


注:本文由純淨天空篩選整理自Isshin Inada大神的英文原創作品 Pandas DataFrame | agg method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。