numpy.nanprod#

numpy.nanprod(a, axis=None, dtype=None, out=None, keepdims=<no value>, initial=<no value>, where=<no value>)[源代码]#

返回在给定轴上数组元素的乘积,将非数字 (NaNs) 视为 1.

对于全是NaN或空的切片,返回一个.

在 1.10.0 版本加入.

参数:
aarray_like

包含所需乘积的数字的数组.如果 a 不是数组,则尝试进行转换.

axis{int, int 的元组, None}, 可选

计算乘积的轴或轴.默认是计算展平数组的乘积.

dtype数据类型,可选

返回数组的类型以及累加器中元素求和的类型.默认情况下,使用 a 的 dtype.当 a 具有精度低于平台 (u)intp 的整数类型时,会出现异常.在这种情况下,默认值将取决于平台是 32 位还是 64 位,分别为 (u)int32 或 (u)int64.对于不精确的输入,dtype 必须是不精确的.

outndarray, 可选

要在其中放置结果的备用输出数组.默认值为 None.如果提供,它必须具有与预期输出相同的形状,但必要时会进行类型转换.有关更多详细信息,请参见 输出类型确定.将 NaN 转换为整数可能会产生意外结果.

keepdimsbool, 可选

如果为真,被减少的轴将作为尺寸为1的维度保留在结果中.使用此选项,结果将正确地与原始 arr 广播.

initial标量,可选

该产品的起始值.详见 reduce.

在 1.22.0 版本加入.

where类数组的布尔值,可选

产品中包含的元素.详情请参见 reduce.

在 1.22.0 版本加入.

返回:
nanprodndarray

除非指定了 out,否则将返回一个包含结果的新数组,在这种情况下,它将被返回.

参见

numpy.prod

数组间乘积传播 NaNs.

isnan

显示哪些元素是 NaN.

示例

>>> import numpy as np
>>> np.nanprod(1)
1
>>> np.nanprod([1])
1
>>> np.nanprod([1, np.nan])
1.0
>>> a = np.array([[1, 2], [3, np.nan]])
>>> np.nanprod(a)
6.0
>>> np.nanprod(a, axis=0)
array([3., 2.])