.html)
  * [ Resampling ](../resampling.html)
  * [ Style ](../style.html)
  * [ Plotting ](../plotting.html)
  * [ Options and settings ](../options.html)
  * [ Extensions ](../extensions.html)
  * [ Testing ](../testing.html)
  * [ Missing values ](../missing_value.html)

  * [ __ ](../../index.html)
  * [ API reference ](../index.html)
  * [ DataFrame ](../frame.html)
  * pandas.DataF... 

#  pandas.DataFrame.cumprod  #

DataFrame.  cumprod  (  _ axis  =  None  _ , _ skipna  =  True  _ , _ *  args
_ , _ **  kwargs  _ )  [ [source]  ](https://github.com/pandas-
dev/pandas/blob/v2.2.2/pandas/core/frame.py#L11794-L11796) #

    

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â. 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  :

    

Series or DataFrame

    

Return cumulative product of Series or DataFrame.

See also

` core.window.expanding.Expanding.prod  `

    

Similar functionality but ignores ` NaN  ` values.

[ ` DataFrame.prod  ` ](pandas.DataFrame.prod.html#pandas.DataFrame.prod
"pandas.DataFrame.prod")

    

Return the product over DataFrame axis.

[ ` DataFrame.cummax  ` ](pandas.DataFrame.cummax.html#pandas.DataFrame.cummax
"pandas.DataFrame.cummax")

    

Return cumulative maximum over DataFrame axis.

[ ` DataFrame.cummin  ` ](pandas.DataFrame.cummin.html#pandas.DataFrame.cummin
"pandas.DataFrame.cummin")

    

Return cumulative minimum over DataFrame axis.

[ ` DataFrame.cumsum  ` ](pandas.DataFrame.cumsum.html#pandas.DataFrame.cumsum
"pandas.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  ` or ` axis='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
    

[ __ previous  pandas.DataFrame.cummin  ](pandas.DataFrame.cummin.html
"previous page") [ next  pandas.DataFrame.cumsum  __
](pandas.DataFrame.cumsum.html "next page")

__ On this page

  * ` DataFrame.cumprod()  `

[ __ Show Source
](../../_sources/reference/api/pandas.DataFrame.cumprod.rst.txt)

© 2024, pandas via [ NumFOCUS, Inc. ](https://numfocus.org) Hosted by [
OVHcloud ](https://www.ovhcloud.com) .

Created using [ Sphinx ](https://www.sphinx-doc.org/) 7.2.6.  

Built with the [ PyData Sphinx Theme ](https://pydata-sphinx-
theme.readthedocs.io/en/stable/index.html) 0.14.4.