当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。