Python | Pandas series.cumprod()查找一个系列的累积积

原文:https://www . geeksforgeeks . org/python-pandas-series-cumprod-to-find-累积系列产品/

Python 是进行数据分析的优秀语言,主要是因为以数据为中心的 Python 包的奇妙生态系统。 【熊猫】 就是其中一个包,让导入和分析数据变得容易多了。

熊猫 **Series.cumprod()**用于寻找一个系列的累计乘积。在累计乘积中,返回序列的长度与输入序列相同,每个元素都等于当前值和所有先前值的乘积。

语法: Series.cumprod(轴=无,skipna =真)

参数: 轴:行操作为 0 或“索引”,列操作为 1 或“列” skipna: 如果为真,跳过下一个元素后的 NaN 添加。

返回类型:系列

示例#1:

在本例中,从 Python 列表中创建了一个系列。该列表还包含一个空值,skipna 参数保持默认值,即真。

# importing pandas module 
import pandas as pd 

# importing numpy module 
import numpy as np 

# making list of values 
values = [2, 10, np.nan, 4, 3, 0, 1] 

# making series from list 
series = pd.Series(values) 

# calling method 
cumprod = series.cumprod() 

# display 
cumprod

输出:

0      2.0
1     20.0
2      NaN
3     80.0
4    240.0
5      0.0
6      0.0
dtype: float64

解释: Cumprod 是当前值和所有先前值的乘积,因此,第一个元素总是等于调用者系列的第一个。

2
20 (2 x 10)
NaN (20 x NaN = NaN, Anything multiplied with NaN returns NaN)
80 (20 x 4)
240 (80 x 3)
0 (240 x 0)
0 (0 x 1)

例 2: 保持 skipna =假

在此示例中,创建了一个系列,就像上面的示例一样。但是skipna 参数保持为假。因此,空值不会被忽略,每次出现时都会进行比较。

# importing pandas module 
import pandas as pd 

# importing numpy module 
import numpy as np 

# making list of values 
values = [9, 4, 33, np.nan, 0, 1, 76, 5] 

# making series from list 
series = pd.Series(values) 

# calling method 
cumprod = series.cumprod(skipna = False) 

# display 
cumprod 

输出:

0       9.0
1      36.0
2    1188.0
3       NaN
4       NaN
5       NaN
6       NaN
7       NaN
dtype: float64

说明:就像上例一样,每个位置都返回当前值和所有先前值的乘积。由于 NaN 乘以任何值也是 NaN,并且 skipna 参数保持为 False,因此 NaN 出现后的所有值也是 NaN。