numpy.
nansum
返回给定轴上数组元素的和,将非数字(NaN)视为零。
在numpy版本中,对于全部为NaN或空的切片,将返回<=1.9.0 NaN。在以后的版本中,返回零。
包含需要求和的数字的数组。如果 a 不是数组,尝试转换。
计算总和的轴。默认值是计算展平数组的和。
返回数组的类型以及元素求和的累加器的类型。默认情况下, a 使用。例外情况是 a 具有比平台(U)intp精度低的整数类型。在这种情况下,根据平台是32位还是64位,默认值是(u)int32或(u)int64。对于不精确的输入,dtype必须是不精确的。
1.8.0 新版功能.
用于放置结果的备用输出数组。默认值为 None . 如果提供,它必须具有与预期输出相同的形状,但如果需要,类型将被强制转换。见 输出类型确定 更多细节。将NaN转换为整数可能会产生意外的结果。
None
如果设置为“真”,则缩小的轴将保留在结果中,作为尺寸为1的尺寸。使用此选项,结果将正确广播到原始 a .
如果该值不是默认值,则 keepdims 将通过 mean 或 sum 子类方法 ndarray . 如果子类方法不实现 keepdims 将引发任何异常。
mean
sum
ndarray
将返回包含结果的新数组,除非 out 是指定的,在其中返回。结果与 a ,形状与 a 如果 axis 不是没有 a 是一维数组。
参见
numpy.sum
跨传播NaN的数组求和。
isnan
显示哪些元素是NaN。
isfinite
显示哪些元素不是NaN或+/-Inf。
笔记
如果同时存在正无穷大和负无穷大,则和将不是数字(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