numpy.mean
( a, axis=None, dtype=None, out=None, keepdims=<no value>)
函数功能:
根据制定轴方向计算算术平均值。
返回数组元素的平均值。默认情况下,平均值从平展开的数组计算得出,如果有指定轴,根据指定轴方向计算得出。整数输入的中间值和返回值也都是float64
参数
-
a : array_like
需要计算均值的数组。如果a不是一个数组,则会尝试进行转换。
-
axis : None or int or tuple of ints, optional
指定计算均值方向的轴。默认是在展开后的数组上计算。
1.7.0新版本功能
如果这是一个整数元组,则均值是在多个轴上计算,而不是之前的单个轴或者所有轴。
-
dtype : data-type, optional
输出均值的类型。 对于整数输入,默认值为float64; 对于浮点数输入,它与输入类型相同。
-
out : ndarray, optional
存放结果的备选输出数组。默认是
None
;如果提供了,它必须跟期望输出有相同的shape,但必要时将转换类型。更多细节请看doc.ufuncs。
返回值
-
m : ndarray, see dtype parameter above
如果
out=None
,返回平均值数组,否则,返回一个输出数组的引用。
注意
算术平均值是沿着轴的元素之和除以元素个数。
请注意,对于浮点数输入,使用跟输入值具有的相同精度计算平均值。 根据输入数据,这可能导致结果不准确,尤其是对于float32(参见下面的示例)。 使用dtype关键字指定更高精度的累加器可以缓解此问题。
默认情况下,使用float32中间函数计算得出float16结果以获得额外的精度。
示例
>>> 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])
在单精度中,均值可能不准确:
>>> 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.5500000007450581
网友评论