How to obtain the cumulative product over a DataFrame axis
Overview
The cummax() function of a DataFrame object is used to obtain the cumulative product maximum over its axis.
Note: Axis here simply represents the row and column of the DataFrame. An axis with a value of
'0'indicate the axes running vertically downwards across a row, while a value of'1'indicates the axes running running horizontally across a column.
Syntax
DataFrame.cumprod(axis=None, skipna=True, *args, **kwargs)
Syntax for the cumprod() function in pandas
Parameters
axis: This represents the name for the row ( designated as0or'index') or the column (designated as1orcolumns) axis.skipna: This takes a Boolean value indicating if null values are to be excluded or not. This is an optional parameter.args,**kwargs: These are keywords that have no effect but may be accepted for compatibility with NumPy. These are optional.
Return value
This function returns a Series or DataFrame object showing the cumulative maximum in the axis.
Example
# A code to illustrate the cumprod() function in Pandas# importing the pandas libraryimport pandas as pd# creating a dataframedf = pd.DataFrame([[5,10,4,15,3],[1,7,5,9,0.5],[3,11,13,14,12]],columns=list('ABCDE'))# printing the dataframeprint(df)# obtaining the cummulative product vertically across rowsprint(df.cumprod(axis="index"))# obtaining the cummulative product horizontally over columnsprint(df.cumprod(axis="columns"))
Explanation
- Line 4: We import the
pandaslibrary. - Lines 7–10: We create a dataframe,
df. - Line 12: We print the dataframe,
df. - Line 15: We use the
cumprod()function to obtain the cumulative product values running downwards across the rows (axis0). We print the result to the console. - Line 18: We use the
cumprod()function to obtain the cumulative product of values running horizontally across columns (axis1). We print the result to the console.