DataFrame.agg
DataFrame.agg(func, axis=0, *args, **kwargs)
使用指定axis上的一个或多个操作Aggregate(聚合)。
参数
func :
function, str, list或dict函数,用于聚合数据。如果是函数,
则必须在传递
DataFrame或传递到DataFrame.apply时工作。接受的组合是:
function string function namefunctions的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,Series或scalar
如果使用单个函数调用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
参考