pandas.core.groupby.DataFrameGroupBy.agg
-
DataFrameGroupBy.agg(arg, *args, **kwargs)[source] -
Агрегирование с использованием вызываемого объекта, строки, словаря или списка строк/вызываемых объектов
Параметры: func : вызываемый объект, строка, словарь или список строк/вызываемых объектов
Функция для агрегирования данных. Если функция, то она должна работать, когда ей передается DataFrame или когда она передается методу DataFrame.apply. Для DataFrame можно передать словарь, если ключи — имена столбцов DataFrame.
Допустимые комбинации:
- имя функции в виде строки
- функция
- список функций
- словарь имён столбцов -> функции (или список функций)
Возвращает: aggregated : DataFrame
См. также
pandas.DataFrame.groupby.apply,pandas.DataFrame.groupby.transform,pandas.DataFrame.aggregateПримечания
Функции Numpy (mean/median/prod/sum/std/var) обрабатываются особым образом, поэтому по умолчанию функция применяется вдоль оси=0 (например, np.mean(arr_2d, axis=0)), а не имитируется поведение Numpy по умолчанию (например, np.mean(arr_2d)).
aggявляется псевдонимом дляaggregate. Используйте псевдоним.Примеры
>>> df = pd.DataFrame({'A': [1, 1, 2, 2], ... 'B': [1, 2, 3, 4], ... 'C': np.random.randn(4)})>>> df A B C 0 1 1 0.362838 1 1 2 0.227877 2 2 3 1.267767 3 2 4 -0.562860
Агрегирование выполняется для каждого столбца.
>>> df.groupby('A').agg('min') B C A 1 1 0.227877 2 3 -0.562860Несколько агрегаций
>>> df.groupby('A').agg(['min', 'max']) B C min max min max A 1 1 2 0.227877 0.362838 2 3 4 -0.562860 1.267767Выбор столбца для агрегирования
>>> df.groupby('A').B.agg(['min', 'max']) min max A 1 1 2 2 3 4Разные агрегации для каждого столбца
>>> df.groupby('A').agg({'B': ['min', 'max'], 'C': 'sum'}) B C min max sum A 1 1 2 0.590716 2 3 4 0.704907
© 2008–2012, 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/0.21.1/generated/pandas.core.groupby.DataFrameGroupBy.agg.html