SciPy, axis=None, weights=None, returned=False)[source]

Return the weighted average of array over the given axis.

a : array_like

Data to be averaged. Masked entries are not taken into account in the computation.

axis : int, optional

Axis along which to average a. If None, averaging is done over the flattened array.

weights : array_like, optional

The importance that each element has in the computation of the average. The weights array can either be 1-D (in which case its length must be the size of a along the given axis) or of the same shape as a. If weights=None, then all data in a are assumed to have a weight equal to one. If weights is complex, the imaginary parts are ignored.

returned : bool, optional

Flag indicating whether a tuple (result, sum of weights) should be returned as output (True), or just the result (False). Default is False.

average, [sum_of_weights] : (tuple of) scalar or MaskedArray

The average along the specified axis. When returned is True, return a tuple with the average as the first element and the sum of the weights as the second element. The return type is np.float64 if a is of integer type and floats smaller than float64, or the input data-type, otherwise. If returned, sum_of_weights is always float64.


>>> a =[1., 2., 3., 4.], mask=[False, False, True, True])
>>>, weights=[3, 1, 0, 0])
>>> x =, 2)
>>> x
  data=[[0., 1.],
        [2., 3.],
        [4., 5.]],
>>> avg, sumweights =, axis=0, weights=[1, 2, 3],
...                                 returned=True)
>>> avg
masked_array(data=[2.6666666666666665, 3.6666666666666665],
             mask=[False, False],

Previous topic

Next topic