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子类的mean或sum方法。如果子类方法未实现 keepdims,则将引发任何异常。- wherearray_like of bool,可选
包含在平均值中的元素。有关详细信息,请参阅
reduce。New in version 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