numpy.nansum¶
-
numpy.
nansum
(a, axis=None, dtype=None, out=None, keepdims=<class numpy._globals._NoValue>)[source]¶ 返回在给定轴上处理非数字(NaN)为零的数组元素的总和。
在Numpy版本在以后的版本中返回零。
参数: a:array_like
数组包含需要和的数字。如果a不是数组,则尝试进行转换。
axis:int,可选
计算和的轴。默认值是计算展平的数组的总和。
dtype:数据类型,可选
返回的数组和累加器元素的累加器的类型。默认情况下,使用a的dtype。一个例外是当a具有比平台(u)intp精度更低的整数类型时。在这种情况下,默认值将是(u)int32或(u)int64,具体取决于平台是32位还是64位。对于不精确的输入,dtype必须不精确。
版本1.8.0中的新功能。
out:ndarray,可选
备用输出放置结果的数组。默认值为
None
。如果提供,它必须具有与预期输出相同的形状,但如果必要,将转换类型。有关详细信息,请参阅doc.ufuncs
。将NaN转换为整数可能会产生意想不到的结果。版本1.8.0中的新功能。
keepdims:bool,可选
返回: y:ndarray或numpy scalar
笔记
如果存在正和负无穷大,则和将是非数字(NaN)。
Numpy整数运算是模块化的。如果和的大小超过整数累加器的大小,其值将回绕,结果将不正确。指定
dtype=double
可以缓解这个问题。例子
>>> np.nansum(1) 1 >>> np.nansum([1]) 1 >>> np.nansum([1, np.nan]) 1.0 >>> a = np.array([[1, 1], [1, np.nan]]) >>> np.nansum(a) 3.0 >>> np.nansum(a, axis=0) array([ 2., 1.]) >>> np.nansum([1, np.nan, np.inf]) inf >>> np.nansum([1, np.nan, np.NINF]) -inf >>> np.nansum([1, np.nan, np.inf, -np.inf]) # both +/- infinity present nan