numpy.
average
沿指定轴计算加权平均值。
包含要平均的数据的数组。如果 a 不是数组,尝试转换。
要平均的轴 a . 默认值axis=none将平均处理输入数组的所有元素。如果轴为负,则从最后一个轴到第一个轴计数。
1.7.0 新版功能.
如果轴是整数的元组,则对元组中指定的所有轴执行平均,而不是像以前那样对单个轴或所有轴执行平均。
与中的值关联的权重数组 a . 每一个值 a 根据其相关重量贡献平均值。权重数组可以是一维的(在这种情况下,其长度必须是 a 沿给定轴)或与 a .如果 weights=None ,然后输入所有数据 a 假设重量等于1。一维计算为:
avg = sum(a * weights) / sum(weights)
唯一的限制 weights 那是 sum(weights) 不能为0。
False .如果 True 元组 (average , sum_of_weights )返回,否则只返回平均值。如果 weights=None , sum_of_weights 等于取其平均值的元素数。
返回沿指定轴的平均值。什么时候? returned 是 True ,返回一个以平均值为第一个元素,权重和为第二个元素的元组。 sum_of_weights 与相同类型 retval . 结果数据类型遵循通用模式。如果 weights 为“无”,结果数据类型将为 a 或 float64 如果 a 是整数。否则,如果 weights 不是没有 a 是非整数的,结果类型将是能够表示两个值的最低精度类型 a 和 weights .如果 a 碰巧是整数,前面的规则仍然适用,但结果数据类型至少是 float64 .
float64
当沿轴的所有权重为零时。见 numpy.ma.average 对于这种类型错误的可靠版本。
numpy.ma.average
当长度为1d时 weights 与形状不同 a 沿着轴线。
参见
mean
ma.average
屏蔽数组的平均值--如果数据包含“缺少”值,则很有用
numpy.result_type
返回将numpy类型提升规则应用于参数后得到的类型。
实例
>>> data = np.arange(1, 5) >>> data array([1, 2, 3, 4]) >>> np.average(data) 2.5 >>> np.average(np.arange(1, 11), weights=np.arange(10, 0, -1)) 4.0
>>> data = np.arange(6).reshape((3,2)) >>> data array([[0, 1], [2, 3], [4, 5]]) >>> np.average(data, axis=1, weights=[1./4, 3./4]) array([0.75, 2.75, 4.75]) >>> np.average(data, weights=[1./4, 3./4]) Traceback (most recent call last): ... TypeError: Axis must be specified when shapes of a and weights differ.
>>> a = np.ones(5, dtype=np.float128) >>> w = np.ones(5, dtype=np.complex64) >>> avg = np.average(a, weights=w) >>> print(avg.dtype) complex256