pandas.DataFrame.cumprod#
- DataFrame.cumprod(axis=None, skipna=True, *args, **kwargs)[源代码]#
返回 DataFrame 或 Series 轴上的累积乘积。
返回一个大小相同、包含累积积的DataFrame或Series。
- Parameters:
- axis{0 或 ‘index’, 1 或 ‘columns’}, default 0
轴的索引或名称。0 等价于 None 或 ‘index’。对于 Series,此参数未使用,默认为 0。
- <strong>skipna</strong>bool, default True
排除 NA/null 值。如果整行/整列都是 NA,则结果为 NA。
- *args, **kwargs
附加关键字不起作用,但为了兼容 NumPy 可能仍然被接受。
- Returns:
- Series 或 DataFrame
返回Series或DataFrame的累积积。
参见
core.window.expanding.Expanding.prod功能类似,但会忽略
NaN值。DataFrame.prod返回 DataFrame 轴上的积。
DataFrame.cummax返回DataFrame轴上的累积最大值。
DataFrame.cummin返回DataFrame轴上的累积最小值。
DataFrame.cumsum返回DataFrame轴上的累积和。
DataFrame.cumprod返回DataFrame轴上的累积积。
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
默认情况下,会忽略 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