xorbits.pandas.window.Rolling.aggregate#

Rolling.aggregate(func, *args, **kwargs)[source]#

Aggregate using one or more operations over the specified axis.

Parameters
  • func (function, str, list or dict) –

    Function to use for aggregating the data. If a function, must either work when passed a Series/Dataframe or when passed to Series/Dataframe.apply.

    Accepted combinations are:

    • function

    • string function name

    • list of functions and/or function names, e.g. [np.sum, 'mean']

    • dict of axis labels -> functions, function names or list of such.

  • *args – Positional arguments to pass to func.

  • **kwargs – Keyword arguments to pass to func.

Returns

The return can be:

  • scalar : when Series.agg is called with single function

  • Series : when DataFrame.agg is called with a single function

  • DataFrame : when DataFrame.agg is called with several functions

Return scalar, Series or DataFrame.

Return type

scalar, Series or DataFrame

See also

pandas.Series.rolling

Calling object with Series data.

pandas.DataFrame.rolling

Calling object with DataFrame data.

Notes

The aggregation operations are always performed over an axis, either the index (default) or the column axis. This behavior is different from numpy aggregation functions (mean, median, prod, sum, std, var), where the default is to compute the aggregation of the flattened array, e.g., numpy.mean(arr_2d) as opposed to numpy.mean(arr_2d, axis=0).

agg is an alias for aggregate. Use the alias.

Functions that mutate the passed object can produce unexpected behavior or errors and are not supported. See gotchas.udf-mutation for more details.

A passed user-defined-function will be passed a Series for evaluation.

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

This docstring was copied from pandas.core.window.rolling.Rolling.