numpy.prod#
- numpy.prod(a, axis=None, dtype=None, out=None, keepdims=<无值>, initial=<无值>, where=<无值>)[源码]#
- 返回给定轴上数组元素的乘积。 - 参数:
- aarray_like
- 输入数据。 
- axisNone 或 int 或 int 元组,可选
- 执行乘积运算的轴。默认情况下,axis=None 将计算输入数组中所有元素的乘积。如果 axis 为负,则从最后一个轴倒数到第一个轴。 - 如果 axis 是一个 int 元组,则将对元组中指定的所有轴执行乘积运算,而不是像以前那样对单个轴或所有轴执行运算。 
- dtypedtype,可选
- 返回数组的类型,以及用于乘积元素的累加器的类型。默认情况下使用 a 的 dtype,除非 a 的整数 dtype 精度低于默认平台整数。在这种情况下,如果 a 是有符号的,则使用平台整数;如果 a 是无符号的,则使用与平台整数精度相同的无符号整数。 
- outndarray,可选
- 用于放置结果的备用输出数组。它必须与预期输出具有相同的形状,但必要时将对输出值的类型进行转换。 
- keepdimsbool,可选
- 如果设置为 True,则被缩减的轴将作为大小为一的维度保留在结果中。使用此选项,结果将与输入数组正确广播。 - 如果传递默认值,则 keepdims 不会传递给 - ndarray子类的- prod方法,但任何非默认值都会被传递。如果子类的方法未实现 keepdims,则会引发任何异常。
- initialscalar,可选
- 此乘积的起始值。有关详细信息,请参阅 - reduce。
- wherearray_like of bool,可选
- 要包含在乘积中的元素。有关详细信息,请参阅 - reduce。
 
- 返回:
- product_along_axisndarray,参阅上方的 dtype参数。
- 一个与 a 形状相同但移除了指定轴的数组。如果指定,则返回对 out 的引用。 
 
- product_along_axisndarray,参阅上方的 
 - 另请参阅 - ndarray.prod
- 等效方法 
- 输出类型确定
 - 备注 - 使用整数类型时,算术运算是模运算,并且在溢出时不会引发错误。这意味着,在 32 位平台上 - >>> x = np.array([536870910, 536870910, 536870910, 536870910]) >>> np.prod(x) 16 # may vary - 空数组的乘积是中性元素 1 - >>> np.prod([]) 1.0 - 示例 - 默认情况下,计算所有元素的乘积 - >>> import numpy as np >>> np.prod([1.,2.]) 2.0 - 即使输入数组是二维的 - >>> a = np.array([[1., 2.], [3., 4.]]) >>> np.prod(a) 24.0 - 但我们也可以指定进行乘积运算的轴 - >>> np.prod(a, axis=1) array([ 2., 12.]) >>> np.prod(a, axis=0) array([3., 8.]) - 或者选择要包含的特定元素 - >>> 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 - 你也可以使用非 1 的值开始乘积运算 - >>> np.prod([1, 2], initial=5) 10