pandas.core.window.rolling.Rolling.aggregate
- Rolling.aggregate(func, *args, **kwargs)[source]
-
Агрегирование с использованием одной или нескольких операций по указанной оси.
- Parameters:
-
- func:function, str, list or dict
-
Функция для агрегирования данных. Если функция, она должна работать при передаче Series/DataFrame или при передаче в Series/DataFrame.apply.
Допустимые комбинации:
функция
имя строковой функции
список функций и/или имён функций, например
[np.sum, 'mean']словарь меток осей -> функций, имён функций или списков таких.
- *args
-
Позиционные аргументы для передачи функции func.
- **kwargs
-
Именованные аргументы для передачи функции func.
- Returns:
-
- скаляр, Series или DataFrame
-
Возвращаемое значение может быть:
скаляр: когда Series.agg вызывается с одной функцией
Series: когда DataFrame.agg вызывается с одной функцией
DataFrame: когда DataFrame.agg вызывается с несколькими функциями
См. также
pandas.Series.rolling-
Вызов объекта с данными Series.
pandas.DataFrame.rolling-
Вызов объекта с данными DataFrame.
Примечания
Операции агрегирования всегда выполняются по оси, либо по индексу (по умолчанию), либо по оси столбцов. Это поведение отличается от функций агрегирования numpy (mean, median, prod, sum, std, var), где по умолчанию вычисляется агрегирование сглаженного массива, например,
numpy.mean(arr_2d)в отличие отnumpy.mean(arr_2d, axis=0).agg — псевдоним для aggregate. Используйте псевдоним.
Функции, изменяющие переданный объект, могут привести к неожиданному поведению или ошибкам и не поддерживаются. См. Изменение с помощью пользовательских функций (UDF) методов для получения дополнительной информации.
Переданная пользовательская функция будет передаваться в Series для оценки.
Примеры
>>> 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
© 2008–2022, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team
Licensed under the 3-clause BSD License.
https://pandas.pydata.org/pandas-docs/version/2.2.2/reference/api/pandas.core.window.rolling.Rolling.aggregate.html