Pandas是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。Pandas提供了大量能使我们快速便捷地处理数据的函数和方法。你很快就会发现,它是使Python成为强大而高效的数据分析环境的重要因素之一。本文主要介绍一下Pandas中pandas.DataFrame.agg方法的使用。

DataFrame.agg(func, axis=0, *args, **kwargs)

使用指定axis上的一个或多个操作Aggregate。

参数:

func function, str, list dict

函数,用于聚合数据。如果是函数,

则必须在传递DataFrame或传递到DataFrame.apply时工作。

接受的组合是:

function

string function name

functions的list  和/或 function names, 例如, [np.sum, 'mean']

axis labels的dict -> functions, function names 或 这样的list.

axis : {0 or ‘index’, 1 或 ‘columns’}, 默认 0

如果0或' index ':应用函数到每一列。

如果1或‘columns’:应用函数到每一行。

*args

要传递给func的位置参数。

**kwargs

要传递给func的关键字参数。

返回:

DataFrame, Seriesscalar

如果使用单个函数调用DataFrame.agg,则返回Series

如果使用多个函数调用DataFrame.agg

如果使用单个函数调用Series.agg则返回DataFrame

如果使用多个函数调用Series.agg则返回标量, 

返回一个Series

聚合操作总是在轴上执行,或者是

index(默认)或列轴。 这种行为不同于

`numpy`聚合函数(`mean``median`

`prod``sum``std`

`var`),其中默认值是计算展平的聚合

数组,例如``numpy.mean(arr_2d)``

而不是``numpy.mean(arr_2d,

轴= 0)``

`agg``aggregate`的别名。 使用别名。

注意

agg是聚合的别名。使用别名。

传递的用户定义函数将被传递一Series用于求值。

例如,

>>> df = pd.DataFrame([[1, 2, 3],
... [4, 5, 6],
... [7, 8, 9],
... [np.nan, np.nan, np.nan]],
... columns=['A', 'B', 'C'])

在行上聚合这些函数

>>> df.agg(['sum', 'min'])
A B C
sum 12.0 15.0 18.0
min 1.0 2.0 3.0

每个列有不同的聚合

>>> df.agg({'A' : ['sum', 'min'], 'B' : ['min', 'max']})
A B
max NaN 8.0
min 1.0 2.0
sum 12.0 NaN

对列进行聚合

>>> df.agg("mean", axis="columns")
0 2.0
1 5.0
2 8.0
3 NaN
dtype: float64