Numpy MaskedArray.masked_where () function | python



numpy.MaskedArray.masked_where() is used to mask the array in which the condition is met. Returns arr as an array masked where the condition is True. Any masked arr or condition values ​​are also masked in the output.

Syntax: numpy.ma.masked_where (condition, arr, copy = True)

Parameters:
condition: [array_like] Masking condition. When condition tests floating point values ​​for equality, consider using masked_values ​​instead.
arr: [ndarray] Input array which we want to mask.
copy: [bool] If True (default) make a copy of arr in the result. If False modify arr in place and return a view.

Return: [MaskedArray] The result of masking arr where condition is True ..

Code # 1:

# Python program explaining
# numpy.MaskedArray.masked_where () method

  
# import numy like a geek
# and the numpy.ma module like ma

import numpy as geek

import numpy.ma as ma

 
# create input array

in_arr = geek.array ([  1 , 2 , 3 , - 1 , 2 ])

print ( "Input array:" , in_arr)

  
# applying MaskedArray.masked_where methods
# to enter an array where the value is & lt; = 1

mask_arr = ma.masked_where (in_arr & lt; = 1 , in_arr)

print ( "Masked arra y: " , mask_arr)

Output:

 Input array: [1 2 3 -1 2] Masked array: [- 2 3 - 2] 

Code # 2:

# Python program explaining
# numpy.MaskedArray.masked_where () method

 
# import numy as a geek
# and the numpy.ma module as ma

import numpy as geek

import numpy.ma as ma

 
# create input array in_arr1

in_arr1 = geek.arange ( 4 )

print ( "1st Input array:" , in_arr1 )

 
# applying MaskedArray.masked_where methods
# to enter in_arr1 array, where value = 1

mask_arr1 = ma.masked_where (in_arr1 = = 1 , in_arr1)

print ( "1st Masked array:" , mask_arr1)

 
# create input array in_arr2

in_arr2 = geek.arange ( 4 )

print ( "2nd Input array:" , in_arr2)

 
# applying the MaskedArray.masked_where methods
# to enter an in_arr2 array where value = 1

mask_arr2 = ma.masked_where (in_arr2 = = 3 , in_arr2)

print ( "2nd Masked array: " , mask_arr2)

  
# applying the MaskedArray.masked_where methods
# up to the 1st masked array, where the second masked array
# used as a condition

res_arr = ma.masked_where (mask_arr1 = = 3 , mask_arr2)

print ( "Resultant Masked array:" , res_arr)

Output:

 1st Input array: [0 1 2 3] 1st Masked array: [0 - 2 3] 2nd Input array: [ 0 1 2 3] 2nd Masked array: [0 1 2 -] Resultant Masked array: [0 - 2 -]