pandas.core.window.rolling.Rolling.aggregate#
- Rolling.aggregate(func, *args, **kwargs)[源代码]#
沿指定轴使用一个或多个操作进行聚合。
- Parameters:
- funcfunction, str, list 或 dict
用于聚合数据的函数。如果为函数,则必须能够接受 Series/Dataframe 或传递给 Series/Dataframe.apply。
可接受的组合有:
function
字符串函数名
函数和/或函数名的列表,例如
[np.sum, 'mean']轴标签 -> 函数、函数名或其列表的字典。
- *args
传递给 func 的位置参数。
- **kwargs
传递给 func 的关键字参数。
- Returns:
- scalar, Series 或 DataFrame
返回值可以是:
scalar :当 Series.agg 用单个函数调用时
Series :当 DataFrame.agg 用单个函数调用时
DataFrame :当 DataFrame.agg 用多个函数调用时
参见
pandas.Series.rolling使用 Series 数据调用对象。
pandas.DataFrame.rolling使用 DataFrame 数据调用对象。
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({"A": [1, 2, 3], "B": [4, 5, 6], "C": [7, 8, 9]}) >>> df A B C 0 1 4 7 1 2 5 8 2 3 6 9
>>> df.rolling(2).sum() A B C 0 NaN NaN NaN 1 3.0 9.0 15.0 2 5.0 11.0 17.0
>>> df.rolling(2).agg({"A": "sum", "B": "min"}) A B 0 NaN NaN 1 3.0 4.0 2 5.0 5.0