numpy mean()函数 详解

函数定义

np.mean(a, # 必须是数组
		axis=None,
		dtype=None, 
		out=None,
		keepdims=<class 'numpy._globals._NoValue'>)

mean()函数的功能是求取平均值,经常操作的参数是axis,以m*n的矩阵为例:

  • axis不设置值,对m*n个数求平均值,返回一个实数
  • axis = 0:压缩行,对各列求均值,返回1*n的矩阵
  • axis = 1: 压缩列,对各行求均值,返回m*1的矩阵

例子:

>>> a = np.array([[1, 2], [3, 4]]) 
>>>> a 
array([[1, 2],
       [3, 4]]) 
>>> np.mean(a) 
2.5 
>>> np.mean(a, axis=0) # axis=0,计算每一列的均值 
array([ 2., 3.]) 
>>> np.mean(a, axis=1) # 计算每一行的均值 
array([ 1.5, 3.5])

也可以用a.mean(1)来代替np.mean(a, axis=1),这样子更简洁。

返回值

在out=None的情况下,返回的就是你要的平均值。否则,返回一个对平均值的引用。

精度

算术平均值是沿轴的元素总合除以元素的数量。既然是除法,就涉及到一个精确度的问题。
对于浮点输入,平均值的计算使用与输入相同的精度计算,这可能会导致结果不准确,特别是对于float32来说。为了缓解这个问题,我们可以使用dtype关键字指定更高精度的累加器,

>>> a = np.zeros((2, 512*512), dtype=np.float32)
>>> a[0, :] = 1.0
>>> a[1, :] = 0.1
>>> np.mean(a)
0.54999924

猜你喜欢

转载自blog.csdn.net/weixin_42018112/article/details/89075436