Python| Pandas series.cumprod() 查找系列的累积产品
Python是一种用于进行数据分析的出色语言,主要是因为以数据为中心的Python包的奇妙生态系统。 Pandas就是其中之一,它使导入和分析数据变得更加容易。
Pandas Series.cumprod()
用于查找系列的累积产品。在累积积中,返回序列的长度与输入序列的长度相同,并且每个元素都等于当前值和所有先前值的乘积。
Syntax: Series.cumprod(axis=None, skipna=True)
Parameters:
axis: 0 or ‘index’ for row wise operation and 1 or ‘columns’ for column wise operation
skipna: Skips NaN addition for elements after the very next one if True.
Return type: 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
参数保持为 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。