pandas.DataFrame.agg#
- DataFrame.agg(func=None, axis=0, *args, **kwargs)[源代码]#
沿指定轴使用一个或多个操作进行聚合。
- Parameters:
- funcfunction, str, list 或 dict
用于聚合数据的函数。如果是函数,则必须能在传递 DataFrame 时工作,或者能在传递给 DataFrame.apply 时工作。
可接受的组合有:
function
字符串函数名
函数和/或函数名的列表,例如
[np.sum, 'mean']轴标签 -> 函数、函数名或其列表的字典。
- axis{0 或 ‘index’, 1 或 ‘columns’}, default 0
如果为 0 或 ‘index’:对每列应用函数。如果为 1 或 ‘columns’:对每行应用函数。
- *args
传递给 func 的位置参数。
- **kwargs
传递给 func 的关键字参数。
- Returns:
- scalar, Series 或 DataFrame
返回值可以是:
scalar :当 Series.agg 用单个函数调用时
Series :当 DataFrame.agg 用单个函数调用时
DataFrame :当 DataFrame.agg 用多个函数调用时
参见
DataFrame.apply执行任何类型的操作。
DataFrame.transform执行转换类型的操作。
pandas.DataFrame.groupby对组执行操作。
pandas.DataFrame.resample对重采样分箱执行操作。
pandas.DataFrame.rolling在滚动窗口上执行操作。
pandas.DataFrame.expanding在扩展窗口上执行操作。
pandas.core.window.ewm.ExponentialMovingWindow在指数加权窗口上执行聚合操作。
Notes
聚合操作始终在某个轴上执行,可以是索引轴(默认)或列轴。此行为与 numpy 聚合函数(mean、median、prod、sum、std、var)不同,后者默认计算展平数组的聚合,例如
numpy.mean(arr_2d)而不是numpy.mean(arr_2d, axis=0)。agg 是 aggregate 的别名。请使用别名。
修改传入对象的函数可能会导致意外行为或错误,因此不受支持。有关详细信息,请参阅 使用用户定义函数 (UDF) 方法进行变异 。
传入的用户定义函数将接收一个 Series 进行计算。
Examples
>>> 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 sum 12.0 NaN min 1.0 2.0 max NaN 8.0
在列上聚合不同的函数,并重命名结果 DataFrame 的索引。
>>> df.agg(x=('A', 'max'), y=('B', 'min'), z=('C', 'mean')) A B C x 7.0 NaN NaN y NaN 2.0 NaN z NaN NaN 6.0
在列上聚合。
>>> df.agg("mean", axis="columns") 0 2.0 1 5.0 2 8.0 3 NaN dtype: float64