pandas.Series.cumprod #

系列。cumprod ( axis = None , skipna = True , * args , ** kwargs ) [来源] #

返回 DataFrame 或 Series 轴上的累积乘积。

返回包含累积乘积的相同大小的 DataFrame 或 Series。

参数
{0 或 'index', 1 或 'columns'}, 默认 0

轴的索引或名称。 0 相当于无或“索引”。对于系列,此参数未使用,默认为 0。

Skipna布尔值,默认 True

排除 NA/null 值。如果整行/列为 NA,则结果将为 NA。

*args,**kwargs

其他关键字没有效果,但可能会被接受以与 NumPy 兼容。

返回
标量或级数

返回标量或系列的累积乘积。

也可以看看

core.window.expanding.Expanding.prod

类似的功能但忽略NaN值。

Series.prod

通过系列轴返回产品。

Series.cummax

返回系列轴上的累积最大值。

Series.cummin

返回系列轴上的累积最小值。

Series.cumsum

返回系列轴上的累积和。

Series.cumprod

返回系列轴上的累积乘积。

例子

系列

>>> 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

默认情况下,NA 值被忽略。

>>> s.cumprod()
0     2.0
1     NaN
2    10.0
3   -10.0
4    -0.0
dtype: float64

要在运算中包含 NA 值,请使用skipna=False

>>> s.cumprod(skipna=False)
0    2.0
1    NaN
2    NaN
3    NaN
4    NaN
dtype: float64

数据框

>>> 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

默认情况下,迭代行并查找每列中的乘积。这相当于axis=Noneaxis='index'

>>> df.cumprod()
     A    B
0  2.0  1.0
1  6.0  NaN
2  6.0  0.0

要迭代列并查找每行中的乘积,请使用axis=1

>>> df.cumprod(axis=1)
     A    B
0  2.0  2.0
1  3.0  NaN
2  1.0  0.0