NumPy参考 >例行程序 >Mathematical functions > numpy.prod
numpy.
prod
(a,axis = None,dtype = None,out = None,keepdims = <无值>,初始值= <无值>,其中= <无值> )[源] ¶返回给定轴上数组元素的乘积。
输入数据。
用于执行产品的一个或多个轴。默认值axis = None将计算输入数组中所有元素的乘积。如果轴为负,则从最后一个到第一个轴计数。
1.7.0版中的新功能。
如果axis是int的元组,那么将在元组中指定的所有轴上执行乘积运算,而不是像以前那样是单个轴或所有轴。
返回数组的类型,以及与元素相乘的累加器的类型。的D型细胞一个默认使用,除非一个具有比缺省平台整数精度以下的整数D型。在这种情况下,如果a是带符号的,则使用平台整数,而如果a是无符号的,则使用与平台整数具有相同精度的无符号整数。
放置结果的替代输出数组。它必须具有与预期输出相同的形状,但是如有必要,将强制转换输出值的类型。
如果将其设置为True,则缩小的轴将保留为尺寸1的尺寸。使用此选项,结果将针对输入数组正确广播。
如果传递了默认值,则keepdims不会传递给的prod
子类的方法
ndarray
,但是任何非默认值都将传递。如果子类的方法未实现keepdims,则将引发任何异常。
此产品的起始值。有关reduce
详细信息,请参见。
1.15.0版中的新功能。
产品中要包含的元素。有关reduce
详细信息,请参见。
1.17.0版中的新功能。
dtype
上面的参数。形状为a但删除指定轴的数组。返回对out的引用(如果已指定)。
笔记
使用整数类型时,算术是模块化的,并且在溢出时不会引发错误。这意味着,在32位平台上:
>>> x = np.array([536870910, 536870910, 536870910, 536870910])
>>> np.prod(x)
16 # may vary
空数组的乘积是中性元素1:
>>> np.prod([])
1.0
例子
默认情况下,计算所有元素的乘积:
>>> np.prod([1.,2.])
2.0
即使输入数组是二维的:
>>> np.prod([[1.,2.],[3.,4.]])
24.0
但是我们也可以指定要乘以的轴:
>>> np.prod([[1.,2.],[3.,4.]], axis=1)
array([ 2., 12.])
或选择要包括的特定元素:
>>> np.prod([1., np.nan, 3.], where=[True, False, True])
3.0
如果x的类型是无符号的,则输出类型是无符号的平台整数:
>>> x = np.array([1, 2, 3], dtype=np.uint8)
>>> np.prod(x).dtype == np.uint
True
如果x为带符号整数类型,则输出类型为默认平台整数:
>>> x = np.array([1, 2, 3], dtype=np.int8)
>>> np.prod(x).dtype == int
True
您还可以使用除以下以外的其他值来启动产品:
>>> np.prod([1, 2], initial=5)
10