📜  Python| Pandas series.cumprod() 查找系列的累积产品

📅  最后修改于: 2022-05-13 01:54:35.987000             🧑  作者: Mango

Python| Pandas series.cumprod() 查找系列的累积产品

Python是一种用于进行数据分析的出色语言,主要是因为以数据为中心的Python包的奇妙生态系统。 Pandas就是其中之一,它使导入和分析数据变得更加容易。

Pandas Series.cumprod()用于查找系列的累积产品。在累积积中,返回序列的长度与输入序列的长度相同,并且每个元素都等于当前值和所有先前值的乘积。

示例 #1:

在此示例中,从Python列表创建了一个系列。该列表还包含一个 Null 值,并且skipna参数保持默认值,即 True。

# 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=False

在此示例中,就像在上面的示例中一样创建一个系列。但是skipna参数保持为 False。因此 NULL 值不会被忽略,并且每次发生时都会进行比较。

# 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。