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 using
masked_valuesinstead.- 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_valuesMask using floating point equality.
masked_equalMask where equal to a given value.
masked_not_equalMask wherenot equal to a given value.
masked_less_equalMask where less than or equal to a given value.
masked_greater_equalMask where greater than or equal to a given value.
masked_lessMask where less than a given value.
masked_greaterMask where greater than a given value.
masked_insideMask inside a given interval.
masked_outsideMask outside a given interval.
masked_invalidMask 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 the
copyargument.>>>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)