numpy.nanmean#

numpy.nanmean(a, axis=None, dtype=None, out=None, keepdims=<no value>, *, where=<no value>)[source]#

计算沿着指定轴的算术平均值,忽略 NaN 值。

返回数组元素的平均值。默认情况下,平均值是针对展平的数组计算的;否则,它将针对指定的轴计算。对于整数输入,使用 float64 作为中间和返回值。

对于全为 NaN 的切片,返回 NaN 并引发 RuntimeWarning

参数:
aarray_like

包含需要计算平均值的数字的数组。如果 a 不是数组,将尝试进行转换。

axis{int, tuple of int, None},可选

计算平均值的轴或轴的集合。默认是计算展平数组的平均值。

dtype数据类型,可选

计算平均值时使用的数据类型。对于整数输入,默认是 float64;对于非精确输入,它与输入的数据类型相同。

outndarray,可选

用于放置结果的备用输出数组。默认值为 None;如果提供,它必须与预期输出具有相同的形状,但如果需要,类型将被转换。有关更多详细信息,请参阅 输出类型确定

keepdims布尔值,可选

如果设置为 True,被缩减的轴将作为大小为一的维度保留在结果中。使用此选项,结果将与原始 a 正确广播。

如果该值不是默认值,则 keepdims 将传递给 ndarray 子类的 meansum 方法。如果子类方法未实现 keepdims,则会引发任何异常。

where布尔型 array_like,可选

要包含在平均值计算中的元素。详情请参阅 reduce

版本 1.22.0 新增。

返回值:
mndarray,请参阅上面的 dtype 参数

如果 out=None,则返回一个包含平均值的新数组,否则返回对输出数组的引用。对于只包含 NaN 的切片,返回 NaN。

另请参阅

average

加权平均

mean

未忽略 NaN 的算术平均值

var, nanvar

说明

算术平均值是沿着该轴上非 NaN 元素的总和除以非 NaN 元素的数量。

请注意,对于浮点输入,平均值是使用输入数据的相同精度计算的。根据输入数据,这可能导致结果不准确,特别是对于 float32 类型。使用 dtype 关键字指定更高精度的累加器可以缓解此问题。

示例

>>> import numpy as np
>>> a = np.array([[1, np.nan], [3, 4]])
>>> np.nanmean(a)
2.6666666666666665
>>> np.nanmean(a, axis=0)
array([2.,  4.])
>>> np.nanmean(a, axis=1)
array([1.,  3.5]) # may vary