Numpy inverse mask Numpy inverse mask numpy numpy

Numpy inverse mask


import numpydata = numpy.array([[ 1, 2, 5 ]])mask = numpy.array([[0,1,0]])numpy.ma.masked_array(data, ~mask) #note this probably wont work right for non-boolean (T/F) values#ornumpy.ma.masked_array(data, numpy.logical_not(mask))

for example

>>> a = numpy.array([False,True,False])>>> ~aarray([ True, False,  True], dtype=bool)>>> numpy.logical_not(a)array([ True, False,  True], dtype=bool)>>> a = numpy.array([0,1,0])>>> ~aarray([-1, -2, -1])>>> numpy.logical_not(a)array([ True, False,  True], dtype=bool)


Latest Python version also support '~' character as 'logical_not'. For Example

import numpydata = numpy.array([[ 1, 2, 5 ]])mask = numpy.array([[False,True,False]])result = data[~mask]