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