numpy.MaskedArray.prod()
function is used to compute the product of the array elements over the given axis.Here masked elements are set to 1 internally for computation.
Syntax :
numpy.ma.prod(self, axis=None, dtype=None, out=None, keepdims=False)
Parameters:
arr : [ ndarray ] Input masked array.
axis :[ int, optional] Axis along which the product is computed. The default (None) is to compute the product over the flattened array.
dtype : [dtype, optional] Type of the returned array, as well as of the accumulator in which the elements are multiplied.
out : [ndarray, optional] A location into which the result is stored.
-> If provided, it must have a shape that the inputs broadcast to.
-> If not provided or None, a freshly-allocated array is returned.
keepdims :[ bool, optional] If this is set to True, the axes which are reduced are left in the result as dimensions with size one. With this option, the result will broadcast correctly against the input array.Return : [product_along_axis, ndarray] A new array holding the result is returned unless out is specified, in which case a reference to out is returned.
Code #1 :
# Python program explaining # numpy.MaskedArray.prod() 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.prod # methods to masked array out_arr = ma.prod(mask_arr) print ( "product of masked array along default axis : " , out_arr) |
Input array : [[ 1 2] [ 3 -1] [ 5 -3]] Masked array : [[-- 2] [-- -1] [5 -3]] product of masked array along default axis : 30
Code #2 :
# Python program explaining # numpy.MaskedArray.prod() 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 , 0 , 3 ], [ 4 , 1 , 6 ]]) print ( "Input array : " , in_arr) # Now we are creating a masked array. # by making one entry as invalid. mask_arr = ma.masked_array(in_arr, mask = [[ 0 , 0 , 0 ], [ 0 , 0 , 1 ]]) print ( "Masked array : " , mask_arr) # applying MaskedArray.prod methods # to masked array out_arr1 = ma.prod(mask_arr, axis = 0 ) print ( "product of masked array along 0 axis : " , out_arr1) out_arr2 = ma.prod(mask_arr, axis = 1 ) print ( "product of masked array along 1 axis : " , out_arr2) |
Input array : [[1 0 3]
[4 1 6]]
Masked array : [[1 0 3]
[4 1 --]]
product of masked array along 0 axis : [4 0 3]
product of masked array along 1 axis : [0 4]