pandas.core.groupby.DataFrameGroupBy.max#

DataFrameGroupBy.max(numeric_only=False, min_count=-1, движок=None, engine_kwargs=None)[источник]#

Вычисление максимума групповых значений.

Параметры:
numeric_onlybool, по умолчанию False

Включать только столбцы с типами float, int, boolean.

Изменено в версии 2.0.0: numeric_only больше не принимает None.

min_countint, по умолчанию -1

Необходимое количество допустимых значений для выполнения операции. Если меньше чем min_count если присутствуют не-NA значения, результат будет NA.

движокstr, по умолчанию None None
  • 'cython' : Запускает rolling apply через C-расширения из cython.

  • 'numba'Выполняет rolling apply через JIT-скомпилированный код из numba.

    Доступно только когда raw установлено в True.

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

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

  • Для 'numba' движок, движок может принимать nopython, nogil

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

Возвращает:
Series или DataFrame

Вычисленный максимум значений в каждой группе.

Примеры

Для SeriesGroupBy:

>>> lst = ['a', 'a', 'b', 'b']
>>> ser = pd.Series([1, 2, 3, 4], index=lst)
>>> ser
a    1
a    2
b    3
b    4
dtype: int64
>>> ser.groupby(level=0).max()
a    2
b    4
dtype: int64

Для DataFrameGroupBy:

>>> data = [[1, 8, 2], [1, 2, 5], [2, 5, 8], [2, 6, 9]]
>>> df = pd.DataFrame(data, columns=["a", "b", "c"],
...                   index=["tiger", "leopard", "cheetah", "lion"])
>>> df
          a  b  c
  tiger   1  8  2
leopard   1  2  5
cheetah   2  5  8
   lion   2  6  9
>>> df.groupby("a").max()
    b  c
a
1   8  5
2   6  9