Numpy MaskedArray.masked_where() function | Python (original) (raw)
Last Updated : 27 Sep, 2019
In many circumstances, datasets can be incomplete or tainted by the presence of invalid data. For example, a sensor may have failed to record a data, or recorded an invalid value. The numpy.ma
module provides a convenient way to address this issue, by introducing masked arrays.Masked arrays are arrays that may have missing or invalid entries.
numpy.MaskedArray.masked_where()
function is used to mask an array where a condition is met.It return arr as an array masked where condition is True. Any masked values of arr or condition 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 :
import
numpy as geek
import
numpy.ma as ma
in_arr
=
geek.array([
1
,
2
,
3
,
-
1
,
2
])
print
(
"Input array : "
, in_arr)
mask_arr
=
ma.masked_where(in_arr<
=
1
, in_arr)
print
(
"Masked array : "
, mask_arr)
Output:
Input array : [ 1 2 3 -1 2] Masked array : [-- 2 3 -- 2]
Code #2 :
import
numpy as geek
import
numpy.ma as ma
in_arr1
=
geek.arange(
4
)
print
(
"1st Input array : "
, in_arr1)
mask_arr1
=
ma.masked_where(in_arr1
=
=
1
, in_arr1)
print
(
"1st Masked array : "
, mask_arr1)
in_arr2
=
geek.arange(
4
)
print
(
"2nd Input array : "
, in_arr2)
mask_arr2
=
ma.masked_where(in_arr2
=
=
3
, in_arr2)
print
(
"2nd Masked array : "
, mask_arr2)
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 --]