Skip to main content
`Ctrl`+`K`

# pandas.api.typing.SeriesGroupBy.cummax

SeriesGroupBy.cummax(numeric_only=False, skipna=True, **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.

    skipna bool, default True

      Exclude NA/null values. If an entire row/column is NA, the result will be NA.

    **kwargs dict, optional

      Additional keyword arguments to be passed to the function.

      Deprecated since version 3.1.0: Passing `**kwargs` to GroupBy.cummax is deprecated and will be removed in a future version of pandas.

  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