numpy.ma.average #

嘛。平均值( a , axis=None , Weights=None , returned=False , * , keepdims=<无 值> ) [来源] #

返回给定轴上数组的加权平均值。

参数
类似数组

数据要平均。计算中不考虑屏蔽条目。

int,可选

平均a 的轴。如果没有,则对展平数组进行平均。

权重数组,可选

每个元素在平均值计算中的重要性。权重数组可以是一维的(在这种情况下,其长度必须是a沿给定轴的大小),也可以与a具有相同的形状。如果weights=None,则假定a中的所有数据的权重等于 1。一维计算为:

avg = sum(a * weights) / sum(weights)

对权重的唯一限制是sum(weights)不能为 0。

返回布尔值,可选

指示元组是否 应作为输出返回(True)或仅返回结果(False)的标志。默认值为 False。(result, sum of weights)

keepdims布尔值,可选

如果将此设置为 True,则缩小的轴将作为大小为 1 的维度保留在结果中。使用此选项,结果将根据原始a正确广播。 注意: keepdims不适用于numpy.matrix 其方法不支持keepdims的类的实例或其他类。

1.23.0 版本中的新增功能。

返回
平均值、[sum_of_weights] (元组)标量或 MaskedArray

沿指定轴的平均值。当返回为True时,返回一个元组,其中平均值作为第一个元素,权重之和作为第二个元素。 如果a是整数类型且浮点数小于,则返回类型为np.float64,否则为输入数据类型。如果返回,sum_of_weights始终为 。float64float64

例子

>>> a = np.ma.array([1., 2., 3., 4.], mask=[False, False, True, True])
>>> np.ma.average(a, weights=[3, 1, 0, 0])
1.25
>>> x = np.ma.arange(6.).reshape(3, 2)
>>> x
masked_array(
  data=[[0., 1.],
        [2., 3.],
        [4., 5.]],
  mask=False,
  fill_value=1e+20)
>>> avg, sumweights = np.ma.average(x, axis=0, weights=[1, 2, 3],
...                                 returned=True)
>>> avg
masked_array(data=[2.6666666666666665, 3.6666666666666665],
             mask=[False, False],
       fill_value=1e+20)

对于keepdims=True,以下结果具有形状 (3, 1)。

>>> np.ma.average(x, axis=1, keepdims=True)
masked_array(
  data=[[0.5],
        [2.5],
        [4.5]],
  mask=False,
  fill_value=1e+20)