numpy.nanmean#

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

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

返回数组元素的平均值。默认情况下,平均值取自扁平化的数组,否则取自指定的轴。float64 用于整数输入的中间值和返回值。

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

版本 1.8.0 中的新功能。

参数:
aarray_like

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

axis{int, int 元组, None}, 可选

计算平均值的轴或轴集。默认值为计算扁平化数组的平均值。

dtype数据类型, 可选

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

outndarray, 可选

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

keepdimsbool, 可选

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

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

wherebool 型数组, 可选

要包含在平均值中的元素。有关详细信息,请参阅 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