pandas.DataFrame.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 兼容。
- 返回:
- 系列或数据框
返回Series或DataFrame的累积乘积。
也可以看看
core.window.expanding.Expanding.prod
类似的功能但忽略
NaN
值。DataFrame.prod
通过 DataFrame 轴返回乘积。
DataFrame.cummax
返回 DataFrame 轴上的累积最大值。
DataFrame.cummin
返回 DataFrame 轴上的累积最小值。
DataFrame.cumsum
返回 DataFrame 轴上的累积和。
DataFrame.cumprod
返回 DataFrame 轴上的累积乘积。
例子
系列
>>> 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=None
或axis='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