pandas.Series.cumprod¶

`Series.``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’.

skipnabool, 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
scalar or Series

Return cumulative product of scalar or Series.

`core.window.Expanding.prod`

Similar functionality but ignores `NaN` values.

`Series.prod`

Return the product over Series axis.

`Series.cummax`

Return cumulative maximum over Series axis.

`Series.cummin`

Return cumulative minimum over Series axis.

`Series.cumsum`

Return cumulative sum over Series axis.

`Series.cumprod`

Return cumulative product over Series 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
```