pandas.api.typing.SeriesGroupBy.cummax#

SeriesGroupBy.cummax(numeric_only=False, **kwargs)[source]#

Cumulative max for each group.

Returns the cumulative maximum of values within each group. The result has the same size as the input, with each element representing the maximum of all preceding elements (including itself) within its group.

Parameters:
numeric_onlybool, default False

Include only float, int or boolean data.

**kwargsdict, optional

Additional keyword arguments to be passed to the function, such as skipna, to control whether NA/null values are ignored.

Returns:
Series or DataFrame

Cumulative max for each group. Same object type as the caller.

See also

Series.cummax

Apply function cummax to a Series.

DataFrame.cummax

Apply function cummax to each row or column of a DataFrame.

Examples

For SeriesGroupBy:

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

For DataFrameGroupBy:

>>> data = [[1, 8, 2], [1, 1, 0], [2, 6, 9]]
>>> df = pd.DataFrame(
...     data, columns=["a", "b", "c"], index=["cow", "horse", "bull"]
... )
>>> df
        a   b   c
cow     1   8   2
horse   1   1   0
bull    2   6   9
>>> df.groupby("a").groups
{1: ['cow', 'horse'], 2: ['bull']}
>>> df.groupby("a").cummax()
        b   c
cow     8   2
horse   8   2
bull    6   9