pandas.DataFrame.aggregate
- DataFrame.aggregate(func=None, axis=0, *args, **kwargs)[source]
-
Агрегирование с использованием одной или нескольких операций по указанной оси.
- Параметры:
-
- func:функция, строка, список или словарь
-
Функция для агрегирования данных. Если это функция, она должна работать, когда ей передаётся DataFrame, или когда она передаётся в DataFrame.apply.
Допустимые комбинации:
функция
имя функции в виде строки
список функций и/или имён функций, например
[np.sum, 'mean']словарь меток оси -> функций, имён функций или списков таких.
- axis:{0 или ‘индекс’, 1 или ‘колонки’}, по умолчанию 0
-
Если 0 или ‘индекс’: применяет функцию к каждому столбцу. Если 1 или ‘колонки’: применяет функцию к каждой строке.
- *args
-
Позиционные аргументы для передачи функции func.
- **kwargs
-
Именованные аргументы для передачи функции func.
- Возвращаемое значение:
-
- скаляр, Series или DataFrame
-
Возвращаемое значение может быть:
скаляр: когда вызывается 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-
Выполнение операций над экспоненциально взвешенным окном.
Примечания
Операции агрегирования всегда выполняются по оси, либо по индексу (по умолчанию), либо по оси столбцов. Это поведение отличается от функций агрегирования numpy (mean, median, prod, sum, std, var), где по умолчанию вычисляется агрегация сглаженного массива, например,
numpy.mean(arr_2d)по сравнению сnumpy.mean(arr_2d, axis=0).agg является псевдонимом для aggregate. Используйте псевдоним.
Функции, которые изменяют переданный объект, могут вызывать неожиданное поведение или ошибки и не поддерживаются. Подробнее см. Изменение с пользовательскими функциями (UDF) методами.
Переданная пользовательская функция будет передана Series для оценки.
Примеры
>>> 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
© 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.DataFrame.aggregate.html