numpy.nanprod¶
-
numpy.
nanprod
(a, axis=None, dtype=None, out=None, keepdims=<class numpy._globals._NoValue>)[source]¶ 返回数组元素在给定轴上的处理非数字(NaN)为零的乘积。
对于全为NaN或空的切片,返回一个。
版本1.10.0中的新功能。
参数: a:array_like
数组包含需要和的数字。如果a不是数组,则尝试进行转换。
axis:int,可选
计算乘积的轴。默认值是计算展平数组的乘积。
dtype:数据类型,可选
返回的数组和累加器元素的累加器的类型。默认情况下,使用a的dtype。一个例外是当a具有比平台(u)intp精度更低的整数类型时。在这种情况下,默认值将是(u)int32或(u)int64,具体取决于平台是32位还是64位。对于不精确的输入,dtype必须不精确。
out:ndarray,可选
备用输出放置结果的数组。默认值为
None
。如果提供,它必须具有与预期输出相同的形状,但如果必要,将转换类型。有关详细信息,请参阅doc.ufuncs
。将NaN转换为整数可能会产生意想不到的结果。keepdims:bool,可选
如果为真,则缩小的轴在结果中保留为尺寸为1的尺寸。使用此选项,结果将相对于原始arr正确广播。
返回: y:ndarray或numpy scalar
也可以看看
numpy.prod
- 产品跨数组传播NaNs。
isnan
- 显示哪些元素是NaN。
笔记
Numpy整数运算是模块化的。如果产品的大小超过整数累加器的大小,其值将回绕,结果将不正确。指定
dtype=double
可以缓解这个问题。例子
>>> 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.])