numpy.ma.masked_where#

ma.masked_where(condition,a,copy=True)[source]#

Mask an array where a condition is met.

Returna as an array masked wherecondition is True.Any masked values ofa orcondition are also masked in the output.

Parameters:
conditionarray_like

Masking condition. Whencondition tests floating point values forequality, consider usingmasked_values instead.

aarray_like

Array to mask.

copybool

If True (default) make a copy ofa in the result. If False modifya in place and return a view.

Returns:
resultMaskedArray

The result of maskinga wherecondition is True.

See also

masked_values

Mask using floating point equality.

masked_equal

Mask where equal to a given value.

masked_not_equal

Mask wherenot equal to a given value.

masked_less_equal

Mask where less than or equal to a given value.

masked_greater_equal

Mask where greater than or equal to a given value.

masked_less

Mask where less than a given value.

masked_greater

Mask where greater than a given value.

masked_inside

Mask inside a given interval.

masked_outside

Mask outside a given interval.

masked_invalid

Mask invalid values (NaNs or infs).

Examples

>>>importnumpyasnp>>>importnumpy.maasma>>>a=np.arange(4)>>>aarray([0, 1, 2, 3])>>>ma.masked_where(a<=2,a)masked_array(data=[--, --, --, 3],             mask=[ True,  True,  True, False],       fill_value=999999)

Mask arrayb conditional ona.

>>>b=['a','b','c','d']>>>ma.masked_where(a==2,b)masked_array(data=['a', 'b', --, 'd'],             mask=[False, False,  True, False],       fill_value='N/A',            dtype='<U1')

Effect of thecopy argument.

>>>c=ma.masked_where(a<=2,a)>>>cmasked_array(data=[--, --, --, 3],             mask=[ True,  True,  True, False],       fill_value=999999)>>>c[0]=99>>>cmasked_array(data=[99, --, --, 3],             mask=[False,  True,  True, False],       fill_value=999999)>>>aarray([0, 1, 2, 3])>>>c=ma.masked_where(a<=2,a,copy=False)>>>c[0]=99>>>cmasked_array(data=[99, --, --, 3],             mask=[False,  True,  True, False],       fill_value=999999)>>>aarray([99,  1,  2,  3])

Whencondition ora contain masked values.

>>>a=np.arange(4)>>>a=ma.masked_where(a==2,a)>>>amasked_array(data=[0, 1, --, 3],             mask=[False, False,  True, False],       fill_value=999999)>>>b=np.arange(4)>>>b=ma.masked_where(b==0,b)>>>bmasked_array(data=[--, 1, 2, 3],             mask=[ True, False, False, False],       fill_value=999999)>>>ma.masked_where(a==3,b)masked_array(data=[--, 1, --, --],             mask=[ True, False,  True,  True],       fill_value=999999)
On this page