numpy.MaskedArray.average()
function is used to return the weighted average of array over the given axis.
Syntax :
numpy.ma.average(arr, axis=None, weights=None, returned=False)
Parameters:
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 :
# Python program explaining # numpy.MaskedArray.average() method # importing numpy as geek # and numpy.ma module as ma import numpy as geek import numpy.ma as ma # creating input array in_arr = geek.array([[ 1 , 2 ], [ 3 , - 1 ], [ 5 , - 3 ]]) print ( "Input array : " , in_arr) # Now we are creating a masked array. # by making entry as invalid. mask_arr = ma.masked_array(in_arr, mask = [[ 1 , 0 ], [ 1 , 0 ], [ 0 , 0 ]]) print ( "Masked array : " , mask_arr) # applying MaskedArray.average # methods to masked array out_arr = ma.average(mask_arr) print ( "normal average of masked array : " , out_arr) |
Input array : [[ 1 2] [ 3 -1] [ 5 -3]] Masked array : [[-- 2] [-- -1] [5 -3]] normal average of masked array : 0.75
Code #2 :
# Python program explaining # numpy.MaskedArray.average() method # importing numpy as geek # and numpy.ma module as ma import numpy as geek import numpy.ma as ma # creating input array in_arr = geek.array([[ 1 , 2 ], [ 3 , - 1 ], [ 5 , - 3 ]]) print ( "Input array : " , in_arr) # Now we are creating a masked array. # by making entry as invalid. mask_arr = ma.masked_array(in_arr, mask = [[ 1 , 0 ], [ 1 , 0 ], [ 0 , 0 ]]) print ( "Masked array : " , mask_arr) # applying MaskedArray.average # methods to masked array out_arr = ma.average(mask_arr, weights = [[ 0 , 1 ], [ 0 , 2 ], [ 3 , 1 ]]) print ( "weighted average of masked array : " , out_arr) |
Input array : [[ 1 2] [ 3 -1] [ 5 -3]] Masked array : [[-- 2] [-- -1] [5 -3]] weighted average of masked array : 1.7142857142857142