pandas.core.groupby.DataFrameGroupBy.max#

DataFrameGroupBy.max(numeric_only=False, min_count=-1, engine=None, engine_kwargs=None)[source]#

Compute max of group values.

Parameters:
numeric_onlybool, default False

Include only float, int, boolean columns.

Changed in version 2.0.0: numeric_only no longer accepts None.

min_countint, default -1

The required number of valid values to perform the operation. If fewer than min_count non-NA values are present the result will be NA.

enginestr, default None None
  • 'cython' : Runs rolling apply through C-extensions from cython.

  • 'numba'Runs rolling apply through JIT compiled code from numba.

    Only available when raw is set to True.

  • None : Defaults to 'cython' or globally setting compute.use_numba

engine_kwargsdict, default None None
  • For 'cython' engine, there are no accepted engine_kwargs

  • For 'numba' engine, the engine can accept nopython, nogil

    and parallel dictionary keys. The values must either be True or False. The default engine_kwargs for the 'numba' engine is {'nopython': True, 'nogil': False, 'parallel': False} and will be applied to both the func and the apply groupby aggregation.

Returns:
Series or DataFrame

Computed max of values within each group.

Examples

For 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

For 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