NumPy | logical_not method
Start your free 7-days trial now!
logical_not(~) whether each value in the input array evaluates to False. A useful interpretation of this method is that it flips the boolean, that is, True become False and vice versa.
The input array.
Numpy array |
Instead of creating a new array, you can place the computed result into the array specified by
Values that are flagged as False will be ignored, that is, their original value will be uninitialized. If you specified the out parameter, the behavior is slightly different - the original value will be kept intact.
a is a scalar, then a single boolean is returned. Otherwise, a Numpy array of booleans is returned.
np.logical_not([False, True])array([ True, False])
np.logical_not([0, 1, 5])array([ True, False, False])
On a more practical note, suppose we wanted to find that numbers are not even from an array:
a = np.array([1,2,3,4,5])mask = np.logical_not(a%2==0)maskarray([ True, False, True, False, True])
To fetch the values that fit our criteria (i.e. the one flagged as True):
a[mask]array([1, 3, 5])