Spec-Zone.ru › pandas 2

pandas.core.groupby.SeriesGroupBy.agg

SeriesGroupBy.agg(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.agg.html

Spec-Zone.ru

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