您好,欢迎来到本关于 Numpy cumprod的教程。在本教程中,我们将学习 NumPy cumprod()
方法,并看到很多相关示例。那么让我们开始吧!
另请阅读:NumPy cumsum – 完整指南
什么是 NumPy cumprod?
累积乘积是 给定序列的部分乘积的序列。如果 {a, b, c, d, e, f,…..} 是一个序列,则其累积乘积表示为 {a, a*b, a*b*c, a*b*c*d,… .} .
NumPy 中的方法 cumprod()
返回输入数组的元素沿指定轴的累积乘积。它可以是展平数组的累积乘积、数组元素沿行的累积乘积或数组元素沿列的累积乘积。
我们将在本教程的后续部分中看到每个示例的示例。
NumPy cumprod 的语法
numpy.cumprod(a, axis = None , dtype = None , out = None ) |
范围 | 描述 | 必需/可选 |
A | 输入数组。 | 必需的 |
轴 | 计算数组累积乘积的轴。它可以是 axis=0 即沿着列,或者 axis=1 即沿着行或者 axis=None,这意味着要返回展平数组的累积乘积。 | 选修的 |
dtype(数据类型) | 要返回的数组的数据类型。 | 选修的 |
出去 | 用于放置结果的替代输出数组。它必须具有与预期输出相同的形状和长度。 | 选修的 |
返回:
包含输出的新数组。如果 提到了out ,则返回对其的引用。
numpy.cumprod 方法的示例
现在让我们开始使用 numpy.cumprod 方法,以便我们可以理解输出。
单个元素的累积乘积
import numpy as np a = 5 ans = np.cumprod(a) print ( "a =" , a) print ( "Cumulative product =" , ans) |
输出:
a = 5 Cumulative product = [5] |
空数组的累积乘积
import numpy as np a = [] ans = np.cumprod(a) print ( "a =" , a) print ( "Cumulative product =" , ans) |
输出:
a = [] Cumulative product = [] |
一维数组的累积乘积
import numpy as np a = [ 2 , 10 , 3 , 6 ] ans = np.cumprod(a) print ( "a =" , a) print ( "Cumulative product of the array =" , ans) |
输出:
a = [2, 10, 3, 6] Cumulative product of the array = [ 2 20 60 360] |
这里,累积乘积计算为2、2*10、2*10*3、2*10*3*6,即2、20、60、360。
二维数组的累积乘积
import numpy as np a = [[ 8 , 3 ], [ 5 , 2 ]] ans = np.cumprod(a) print ( "a =" , a) print ( "Cumulative product of the array =" , ans) |
输出:
a = [[8, 3], [5, 2]] Cumulative product of the array = [ 8 24 120 240] |
对于二维数组,当没有提到轴时,首先将数组展平,然后计算其累积乘积。
在上面的例子中,数组首先被展平为 [8, 3, 5, 2] 即逐行,然后其累积乘积计算为 [8, 8*3, 8*3*5, 8*3*5 *2] 产生函数返回的数组 [8, 24, 120, 240]。
将数组的 Numpy.cumprod() 返回为 float 数据类型
这与上面的示例相同,只是这里返回的值是浮点数据类型。
import numpy as np a = [ 2 , 10 , 3 , 6 ] ans = np.cumprod(a, dtype = float ) print ( "a =" , a) print ( "Cumulative product of the array =" , ans) |
输出:
a = [2, 10, 3, 6] Cumulative product of the array = [ 2. 20. 60. 360.] |
沿轴的累积乘积
轴 = 0
import numpy as np a = [[ 3 , 2 , 1 ], [ 4 , 5 , 6 ]] # cumulative product along axis=0 ans = np.cumprod(a, axis = 0 ) print ( "a =\n" , a) print ( "Cumulative product of the array =\n" , ans) |
输出:
a = [[3, 2, 1], [4, 5, 6]] Cumulative product of the array = [[ 3 2 1] [12 10 6]] |
此处,第一行保持原样,第二行包含计算为 3*4、2*5、1*6 的累积乘积,结果为 12、10 和 6。
轴 = 1
import numpy as np a = [[ 3 , 2 , 1 ], [ 4 , 5 , 6 ]] # cumulative product along axis=1 ans = np.cumprod(a, axis = 1 ) print ( "a =\n" , a) print ( "Cumulative product of the array =\n" , ans) |
输出:
a = [[3, 2, 1], [4, 5, 6]] Cumulative product of the array = [[ 3 6 6] [ 4 20 120]] |
此处,第一列保持原样,第二列包含计算为 3*2, 4*5 的累积乘积,结果为 6, 20,第三列包含累积乘积 3*2*1, 4*5* 6即6和120。
概括
就这样!在本教程中,我们了解了 Numpy cumprod 方法,并使用该方法练习了不同类型的示例。