NumPy参考 >例行程序 >Mathematical functions > numpy.nansum
numpy.
nansum
(a,axis = None,dtype = None,out = None,keepdims = <无值> )[源代码] ¶返回给定轴上的数组元素的总和,将非数字(NaNs)视为零。
在NumPy版本<= 1.9.0中,对于全NaN或空的片返回Nan。在更高版本中,返回零。
包含所需总和的数字的数组。如果a不是数组,则尝试进行转换。
计算总和的一个或多个轴。默认值是计算展平数组的总和。
返回的数组和累加器的类型,元素在其中累加。默认情况下,使用a的dtype 。一个例外是当a具有比平台(u)intp精度低的整数类型时。在这种情况下,默认值是(u)int32或(u)int64,具体取决于平台是32位还是64位。对于不精确的输入,dtype必须不精确。
1.8.0版中的新功能。
放置结果的备用输出数组。默认值为None
。如果提供的话,它必须与预期的输出具有相同的形状,但是如果需要的话,将强制转换类型。有关更多详细信息,请参见
ufuncs-output-type。将NaN转换为整数可能会产生意外的结果。
1.8.0版中的新功能。
如果将其设置为True,则缩小的轴将保留为尺寸1的尺寸。使用此选项,结果将相对于原始a正确广播。
如果值不是默认值,则
keepdims将传递给的子类的mean
或sum
方法ndarray
。如果子类方法未实现keepdims,则将引发任何异常。
1.8.0版中的新功能。
除非指定out,否则将返回保存结果的新数组,并在其中返回结果。结果有大小相同,一,且相同的形状一如果轴不是无或一个有1 d阵列。
笔记
如果同时存在正无穷大和负无穷大,则总和为非数字(NaN)。
例子
>>> 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
>>> from numpy.testing import suppress_warnings
>>> with suppress_warnings() as sup:
... sup.filter(RuntimeWarning)
... np.nansum([1, np.nan, np.inf, -np.inf]) # both +/- infinity present
nan