numpy.nanmean#

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

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

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

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

参数:
a类数组对象

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

axis{int, tuple of int, None}, optional

计算平均值的轴或轴。默认为计算展平后数组的平均值。

dtype数据类型,可选

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

outndarray,可选

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

keepdimsbool,可选

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

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

wherearray_like of bool,可选

包含在平均值中的元素。有关详细信息,请参阅 reduce

New in version 1.22.0。

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

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

另请参阅

平均值

加权平均值

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