pandas.DataFrame.cumprod#
- DataFrame.cumprod(axis=0, skipna=True, numeric_only=False, *args, **kwargs)[源代码][源代码]#
返回 DataFrame 或 Series 轴上的累积乘积。
返回一个与原数据相同大小的 DataFrame 或 Series,包含累积乘积。
- 参数:
- 轴{0 或 ‘index’, 1 或 ‘columns’},默认 0
索引或轴的名称。0 等同于 None 或 ‘index’。对于 Series,此参数未使用并默认为 0。
- skipna布尔值, 默认为 True
排除NA/null值。如果整行/整列都是NA,结果将是NA。
- numeric_only布尔值, 默认为 False
只包含浮点数、整数、布尔列。
- *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
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
默认情况下,遍历行并在每一列中找到乘积。这等同于
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