numpy.nanprod#
- numpy.nanprod(a, axis=None, dtype=None, out=None, keepdims=<no value>, initial=<no value>, where=<no value>)[source]#
返回数组元素在给定轴上的乘积,并将非数字 (NaN) 视为 1。
对于全是 NaN 或为空的切片,返回 1。
版本 1.10.0 中的新功能。
- 参数:
- aarray_like
包含需要计算乘积的数字的数组。如果 a 不是数组,则尝试进行转换。
- axis{int, tuple of int, None}, 可选
计算乘积的轴或轴。默认为计算扁平化数组的乘积。
- dtype数据类型,可选
返回数组和累加器(元素在其中求和)的类型。默认情况下,使用 a 的 dtype。当 a 的整数类型精度低于平台 (u)intp 时,这是一个例外。在这种情况下,默认值将是 (u)int32 或 (u)int64,具体取决于平台是 32 位还是 64 位。对于不精确的输入,dtype 必须是不精确的。
- outndarray,可选
放置结果的备用输出数组。默认为
None
。如果提供,它必须与预期输出具有相同的形状,但如果必要,类型将被强制转换。有关更多详细信息,请参阅输出类型确定。将 NaN 强制转换为整数可能会产生意外的结果。- keepdimsbool,可选
如果为 True,则将减少的轴保留在结果中,作为大小为一的维度。使用此选项,结果将针对原始 arr 正确广播。
- initial标量,可选
此乘积的起始值。有关详细信息,请参阅
reduce
。版本 1.22.0 中的新功能。
- wherebool 类型的 array_like,可选
要包含在乘积中的元素。有关详细信息,请参阅
reduce
。版本 1.22.0 中的新功能。
- 返回:
- nanprodndarray
除非指定了 out,否则将返回一个包含结果的新数组,否则将返回 out。
另请参阅
numpy.prod
传播 NaN 的数组乘积。
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.])