Numpy中的mean函数 – Python量化投资

Numpy中的mean函数

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

https://www.jianshu.com/p/272d9143c6e6

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论