numpy.mean #
- 麻木的。mean ( a , axis=None , dtype=None , out=None , keepdims=<无 值> , * , where=<无 值> ) [来源] #
计算沿指定轴的算术平均值。
返回数组元素的平均值。默认情况下,在展平数组上取平均值,否则在指定轴上取平均值。
float64
中间值和返回值用于整数输入。- 参数:
- 类似数组
包含所需平均值的数字的数组。如果a不是数组,则尝试转换。
- axis无或整数或整数元组,可选
计算平均值所沿的一个或多个轴。默认值是计算展平数组的平均值。
1.7.0 版本中的新增内容。
如果这是一个整数元组,则在多个轴上执行平均值,而不是像以前那样在单个轴或所有轴上执行平均值。
- dtype数据类型,可选
计算平均值时使用的类型。对于整数输入,默认值为
float64
;对于浮点输入,它与输入数据类型相同。- 输出ndarray,可选
用于放置结果的备用输出数组。默认为
None
;如果提供,它必须具有与预期输出相同的形状,但如果需要,类型将被转换。有关更多详细信息,请参阅输出类型确定。- keepdims布尔值,可选
如果将此设置为 True,则缩小的轴将作为大小为 1 的维度保留在结果中。使用此选项,结果将针对输入数组正确广播。
如果传递默认值,则keepdims将不会传递到
mean
的子类的方法ndarray
,但任何非默认值都会传递。如果子类的方法没有实现keepdims,则会引发任何异常。- 其中array_like of bool,可选
平均值中包含的元素。
reduce
详情请参阅。1.20.0 版本中的新增功能。
- 返回:
- m ndarray,参见上面的 dtype 参数
如果out=None,则返回包含平均值的新数组,否则返回对输出数组的引用。
笔记
算术平均值是沿轴的元素之和除以元素数量。
请注意,对于浮点输入,平均值是使用与输入相同的精度计算的。根据输入数据,这可能会导致结果不准确,尤其是
float32
(参见下面的示例)。使用关键字指定更高精度的累加器dtype
可以缓解这个问题。默认情况下,
float16
结果是使用float32
中间值计算的,以提高精度。例子
>>> a = np.array([[1, 2], [3, 4]]) >>> np.mean(a) 2.5 >>> np.mean(a, axis=0) array([2., 3.]) >>> np.mean(a, axis=1) array([1.5, 3.5])
在单精度下,
mean
可能不准确:>>> a = np.zeros((2, 512*512), dtype=np.float32) >>> a[0, :] = 1.0 >>> a[1, :] = 0.1 >>> np.mean(a) 0.54999924
计算 float64 的平均值更准确:
>>> np.mean(a, dtype=np.float64) 0.55000000074505806 # may vary
指定 where 参数:
>>> a = np.array([[5, 9, 13], [14, 10, 12], [11, 15, 19]]) >>> np.mean(a) 12.0 >>> np.mean(a, where=[[True], [False], [False]]) 9.0