pandas.DataFrame.cumprod
- DataFrame.cumprod(axis=None, skipna=True, *args, **kwargs)[source]
-
Return cumulative product over a DataFrame or Series axis.
Returns a DataFrame or Series of the same size containing the cumulative product.
- 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’.
- 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
-
- Series or DataFrame
-
Return cumulative product of Series or DataFrame.
See also
core.window.Expanding.prod
-
Similar functionality but ignores
NaN
values. DataFrame.prod
-
Return the product over DataFrame axis.
DataFrame.cummax
-
Return cumulative maximum over DataFrame axis.
DataFrame.cummin
-
Return cumulative minimum over DataFrame axis.
DataFrame.cumsum
-
Return cumulative sum over DataFrame axis.
DataFrame.cumprod
-
Return cumulative product over DataFrame 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.cumprod() 0 2.0 1 NaN 2 10.0 3 -10.0 4 -0.0 dtype: float64
To include NA values in the operation, use
skipna=False
>>> s.cumprod(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 product in each column. This is equivalent to
axis=None
oraxis='index'
.>>> df.cumprod() A B 0 2.0 1.0 1 6.0 NaN 2 6.0 0.0
To iterate over columns and find the product in each row, use
axis=1
>>> df.cumprod(axis=1) A B 0 2.0 2.0 1 3.0 NaN 2 1.0 0.0
© 2008–2021, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team
Licensed under the 3-clause BSD License.
https://pandas.pydata.org/pandas-docs/version/1.3.4/reference/api/pandas.DataFrame.cumprod.html