pandas.api.typing.SeriesGroupBy.cummax#
- SeriesGroupBy.cummax(numeric_only=False, skipna=True, **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.
- skipnabool, default True
Exclude NA/null values. If an entire row/column is NA, the result will be NA.
- **kwargsdict, optional
Additional keyword arguments to be passed to the function.
Deprecated since version 3.1.0: Passing
**kwargsto 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.cummaxApply function cummax to a Series.
DataFrame.cummaxApply 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