Python Pandas series.cumprod()用于查找系列的累积乘积
Python是一种进行数据分析的伟大语言,主要是因为以数据为中心的Python软件包的奇妙生态系统。Pandas就是这些包中的一个,它使导入和分析数据变得更加容易。
Pandas Series.cumprod()用于查找一个系列的累积积。在累积乘积中,返回的系列的长度与输入的系列相同,每个元素都等于当前值与之前所有值的乘积。
语法: Series.cumprod(axis=None, skipna=True)
参数:
axis: 0或’索引’用于按行操作,1或’列’用于按列操作
skipna:跳过下一个元素后的NaN加法,如果是真的。
返回类型: Series
示例 #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参数被保留为假。因此,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参数被保留为假,因此NaN出现后的所有值也是NaN。