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
子类的mean
或sum
方法。如果子类方法未实现 keepdims,则会引发任何异常。- where布尔型 array_like,可选
要包含在平均值计算中的元素。详情请参阅
reduce
。版本 1.22.0 新增。
- 返回值:
- mndarray,请参阅上面的 dtype 参数
如果 out=None,则返回一个包含平均值的新数组,否则返回对输出数组的引用。对于只包含 NaN 的切片,返回 NaN。
说明
算术平均值是沿着该轴上非 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