Previous topic

numpy.ma.anomalies

Next topic

numpy.ma.conjugate

This is documentation for an old release of NumPy (version 1.15). Read this page in the documentation of the latest stable release (version 2.2).

numpy.ma.average

numpy.ma.average(a, axis=None, weights=None, returned=False)[source]

Return the weighted average of array over the given axis.

Parameters:
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.

Returns:
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.

Examples

>>>
>>> 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)
>>> print(x)
[[ 0.  1.]
 [ 2.  3.]
 [ 4.  5.]]
>>> avg, sumweights = np.ma.average(x, axis=0, weights=[1, 2, 3],
...                                 returned=True)
>>> print(avg)
[2.66666666667 3.66666666667]