Spec-Zone.ru › pandas 2

pandas.core.groupby.SeriesGroupBy.aggregate

SeriesGroupBy.aggregate(func=None, *args, engine=None, engine_kwargs=None, **kwargs)[source]

Агрегирование с использованием одной или нескольких операций по указанной оси.

Параметры:
func:функция, строка, список, словарь или None

Функция для агрегирования данных. Если это функция, она должна работать, когда ей передается Series, или когда она передается в Series.apply.

Допускаемые комбинации:

  • функция

  • имя функции в виде строки

  • список функций и/или имен функций, например [np.sum, 'mean']

  • None, в этом случае **kwargs используются с именованным агрегированием. Здесь на выходе одна колонка для каждого элемента в **kwargs. Имя колонки — ключевое слово, а значение определяет используемую агрегацию для вычисления значений в колонке.

    Также может принимать функцию Numba JIT с engine='numba' указанными. Поддержка только одной функции.

    Если выбран 'numba' движок, функция должна быть пользовательской функцией с values и index в качестве первого и второго аргументов соответственно в сигнатуре функции. Индекс каждой группы будет передан пользовательской функции и, при необходимости, будет доступен для использования.

Устарело начиная с версии 2.1.0: Передача словаря устарела и в будущих версиях pandas вызовет исключение. Вместо этого передайте список агрегаций.

*args

Позиционные аргументы для передачи в func.

engine:строка, по умолчанию None
  • 'cython' : Выполняет функцию через C-расширения из cython.

  • 'numba' : Выполняет функцию через скомпилированный JIT-код из numba.

  • None : По умолчанию 'cython' или глобальная настройка compute.use_numba

engine_kwargs:словарь, по умолчанию None
  • Для 'cython' движка нет допустимых engine_kwargs

  • Для 'numba' движка движок может принимать nopython, nogil и parallel ключи словаря. Значения должны быть либо True или False. Значение engine_kwargs по умолчанию для 'numba' движка {'nopython': True, 'nogil': False, 'parallel': False} и будет применено к функции

**kwargs
  • Если func равно None, **kwargs используются для определения имен столбцов и агрегаций с помощью именованного агрегирования. См. запись func.

  • В противном случае — ключевые аргументы для передачи в func.

Возвращаемое значение:
Series

См. также

Series.groupby.apply

Применение функции func по группам и объединение результатов.

Series.groupby.transform

Преобразование Series в каждой группе на основе заданной функции.

Series.aggregate

Агрегирование с использованием одной или нескольких операций по заданной оси.

Примечания

При использовании engine='numba', внутренней «обратной» обработки не будет. Данные группы и индекс группы будут переданы как массивы NumPy в JIT-скомпилированную пользовательскую функцию, и альтернативные попытки выполнения не будут предприняты.

Функции, изменяющие переданный объект, могут привести к непредсказуемому поведению или ошибкам и не поддерживаются. Подробнее см. Изменение с помощью пользовательских функций (UDF).

Изменено в версии 1.3.0: Тип результирующего объекта будет отражать возвращаемое значение переданной func, см. примеры ниже.

Примеры

>>> s = pd.Series([1, 2, 3, 4])
>>> s
0    1
1    2
2    3
3    4
dtype: int64
>>> s.groupby([1, 1, 2, 2]).min()
1    1
2    3
dtype: int64
>>> s.groupby([1, 1, 2, 2]).agg('min')
1    1
2    3
dtype: int64
>>> s.groupby([1, 1, 2, 2]).agg(['min', 'max'])
   min  max
1    1    2
2    3    4

Имена выходных столбцов можно управлять, передавая желаемые имена столбцов и агрегации в качестве ключевых аргументов.

>>> s.groupby([1, 1, 2, 2]).agg(
...     minimum='min',
...     maximum='max',
... )
   minimum  maximum
1        1        2
2        3        4

Изменено в версии 1.3.0: Тип результирующего объекта будет отражать возвращаемое значение агрегирующей функции.

>>> s.groupby([1, 1, 2, 2]).agg(lambda x: x.astype(float).min())
1    1.0
2    3.0
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.core.groupby.SeriesGroupBy.aggregate.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API