Pandas 中的 series.cumprod() 方法是如何工作的?


通过在 Pandas Series 构造函数中使用 cumprod() 方法,我们可以找出给定序列对象的元素的累积乘积。

cumprod() 方法返回一个与原始输入序列对象长度相同的序列,包含累积乘积。

cumprod() 方法有三个参数:“axis”、“skipna”和附加关键字。“skipna”参数用于默认情况下排除缺失值,如果要包含这些缺失值,则将 skipna 参数设置为“False”。

示例 1

# importing required packages
import pandas as pd
import numpy as np

# create a pandas Series object
series = pd.Series([5,np.nan,-2,10])
print(series)

print("Cumulative product: ",series.cumprod())

解释

在下面的示例中,我们计算 Series 的累积乘积。它返回一个 Series,不改变第一个元素,第二个元素是第一个和第二个元素的乘积,第三个元素是第二个和第三个元素的乘积,以此类推。

输出

0  5.0
1  NaN
2 -2.0
3 10.0
dtype: float64

Cumulative product:
0    5.0
1    NaN
2  -10.0
3 -100.0
dtype: float64

默认情况下,cumprod() 方法在执行时不包含 Nan 值,因此第 1 个位置的 Nan 值保持不变。

示例 2

# importing required packages
import pandas as pd
import numpy as np

# create a pandas Series object
series = pd.Series([5,-3,np.nan,11,6])
print(series)

print("Cumulative product including NA: ",series.cumprod(skipna=False))

解释

在这个例子中,我们通过将 skipna 值设置为 False 来计算 cumprod() 方法。这意味着它在执行时不会忽略 NA/空值。

输出

0  5.0
1 -3.0
2  NaN
3 11.0
4  6.0
dtype: float64

Cumulative product including NA:
0   5.0
1 -15.0
2   NaN
3   NaN
4   NaN
dtype: float64

在上面的输出块中,我们可以看到给定序列对象的累积乘积。“2”索引位置之后,我们可以看到只有 Nan 值,这是因为空值与任何其他值的乘积都将只是空值。

更新于:2022年3月9日

274 次浏览

开启你的职业生涯

完成课程获得认证

开始学习
广告
© . All rights reserved.