Skip to main content
`Ctrl`+`K`

# pandas.api.typing.SeriesGroupBy.cummax

SeriesGroupBy.cummax(numeric_only=False, **kwargs)

  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_only bool, default False

      Include only float, int or boolean data.

    **kwargs dict, 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