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 聚合函数(meanmedianprodsumstdvar)不同,后者默认计算展平数组的聚合,例如 numpy.mean(arr_2d) 而不是 numpy.mean(arr_2d, axis=0)

aggaggregate 的别名。请使用别名。

修改传入对象的函数可能会导致意外行为或错误,因此不受支持。有关详细信息,请参阅 使用用户定义函数 (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