Skip to main content
`Ctrl`+`K`

# pandas.Series.cummax

Series.cummax(axis=0, skipna=True, *args, **kwargs)

  Return cumulative maximum over a DataFrame or Series axis.

  Returns a DataFrame or Series of the same size containing the cumulative maximum.

  Parameters:
    axis{0 or ‘index’, 1 or ‘columns’}, default 0

      The index or the name of the axis. 0 is equivalent to None or ‘index’. For Series this parameter is unused and defaults to 0.

    skipna bool, default True

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

    *args, **kwargs

      Additional keywords have no effect but might be accepted for compatibility with NumPy.

  Returns:
    scalar or Series

      Return cumulative maximum of scalar or Series.

  See also

  `core.window.expanding.Expanding.max`

    Similar functionality but ignores `NaN` values.

  `Series.max`

    Return the maximum over Series axis.

  `Series.cummax`

    Return cumulative maximum over Series axis.

  `Series.cummin`

    Return cumulative minimum over Series axis.

  `Series.cumsum`

    Return cumulative sum over Series axis.

  `Series.cumprod`

    Return cumulative product over Series axis.

  Examples

  Series

      >>> s = pd.Series([2, np.nan, 5, -1, 0])
      >>> s
      0    2.0
      1    NaN
      2    5.0
      3   -1.0
      4    0.0
      dtype: float64

  By default, NA values are ignored.

      >>> s.cummax()
      0    2.0
      1    NaN
      2    5.0
      3    5.0
      4    5.0
      dtype: float64

  To include NA values in the operation, use `skipna=False`

      >>> s.cummax(skipna=False)
      0    2.0
      1    NaN
      2    NaN
      3    NaN
      4    NaN
      dtype: float64

  DataFrame

      >>> df = pd.DataFrame([[2.0, 1.0],
      ...                    [3.0, np.nan],
      ...                    [1.0, 0.0]],
      ...                   columns=list('AB'))
      >>> df
           A    B
      0  2.0  1.0
      1  3.0  NaN
      2  1.0  0.0

  By default, iterates over rows and finds the maximum in each column. This is equivalent to `axis=None` or `axis='index'`.

      >>> df.cummax()
           A    B
      0  2.0  1.0
      1  3.0  NaN
      2  3.0  1.0

  To iterate over columns and find the maximum in each row, use `axis=1`

      >>> df.cummax(axis=1)
           A    B
      0  2.0  2.0
      1  3.0  NaN
      2  1.0  1.0