Numpy MaskedArray.average() function | Python
numpy.MaskedArray.average() function is used to return the weighted average of array over the given axis.
numpy.ma.average(arr, axis=None, weights=None, returned=False)
arr :[ array_like] Input masked array whose data to be averaged. Masked entries are not taken into account in the computation.
axis :[ int, optional] Axis along which to average arr. 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. If weights=None, then all data in arr are assumed to have a weight equal to one. If weights is complex, the imaginary parts are ignored.
returned :[ bool, optional] It indicates whether a tuple (result, sum of weights) should be returned as output (True), or just the result (False). Default is False.
Return : [ 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.
Code #1 :
Input array : [[ 1 2] [ 3 -1] [ 5 -3]] Masked array : [[-- 2] [-- -1] [5 -3]] normal average of masked array : 0.75
Code #2 :
Input array : [[ 1 2] [ 3 -1] [ 5 -3]] Masked array : [[-- 2] [-- -1] [5 -3]] weighted average of masked array : 1.7142857142857142