Pandas Series: cummax() function
Cumulative maximum over a Pandas DataFrame or Series axis
The cummax() function is used to get cumulative maximum over a DataFrame or Series axis.
Syntax:
Series.cummax(self, axis=None, skipna=True, *args, **kwargs)
Parameters:
Name | Description | Type/Default Value | Required / Optional |
---|---|---|---|
axis | The index or the name of the axis. 0 is equivalent to None or ‘index’. | {0 or ‘index’, 1 or ‘columns’} Default Value: 0 |
Required |
skipna | Exclude NA/null values. If an entire row/column is NA, the result will be NA. | boolean Default Value: True |
Required |
*args, **kwargs | Additional keywords have no effect but might be accepted for compatibility with NumPy. | Required |
Returns: scalar or Series
Example - Series:
Python-Pandas Code:
import numpy as np
import pandas as pd
s = pd.Series([2, np.nan, 7, -3, 0])
s
Output:
0 2.0 1 NaN 2 7.0 3 -3.0 4 0.0 dtype: float64
Example - By default, NA values are ignored:
Python-Pandas Code:
import numpy as np
import pandas as pd
s = pd.Series([2, np.nan, 7, -3, 0])
s.cummax()
Output:
0 2.0 1 NaN 2 7.0 3 7.0 4 7.0 dtype: float64
Example - To include NA values in the operation, use skipna=False:
Python-Pandas Code:
import numpy as np
import pandas as pd
s = pd.Series([2, np.nan, 7, -3, 0])
s.cummax(skipna=False)
Output:
0 2.0 1 NaN 2 NaN 3 NaN 4 NaN dtype: float64
Example - DataFrame:
Python-Pandas Code:
import numpy as np
import pandas as pd
df = pd.DataFrame([[3.0, 2.0],
[5.0, np.nan],
[4.0, 0.0]],
columns=list('XY'))
df
Output:
X Y 0 3.0 2.0 1 5.0 NaN 2 4.0 0.0
Example - By default, iterates over rows and finds the maximum in each column. This is equivalent to axis=None or axis='index':
Python-Pandas Code:
import numpy as np
import pandas as pd
df = pd.DataFrame([[3.0, 2.0],
[5.0, np.nan],
[4.0, 0.0]],
columns=list('XY'))
df.cummax()
Output:
X Y 0 3.0 2.0 1 5.0 NaN 2 5.0 2.0
Example - To iterate over columns and find the maximum in each row, use axis=1:
Python-Pandas Code:
import numpy as np
import pandas as pd
df = pd.DataFrame([[3.0, 2.0],
[5.0, np.nan],
[4.0, 0.0]],
columns=list('XY'))
df.cummax(axis=1)
Output:
X Y 0 3.0 3.0 1 5.0 NaN 2 4.0 4.0
Previous: Compute covariance with Pandas Series
Next: Cumulative minimum over a Pandas DataFrame or Series axis
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics