You cannot use and, or, and not on Boolean arrays. Indeed, those operators force the casting from array to Boolean, which is not permitted. Instead, we can use the operators given in Table 5.1 for component-wise logical operations on Boolean arrays:
Logic operator
|
Replacement for Boolean arrays
|
A and B
|
A & B
|
A or B
|
A | B
|
not A
|
~ A
|
Table 5.1: Logical operators for component-wise logical array operations
Here is an example usage of logical operators with Boolean arrays:
A = array([True, True, False, False]) B = array([True, False, True, False]) A and B # error! A & B # array([True, False, False, False]) A | B # array([True, True, True, False]) ~A # array([False, False, True, True])
Suppose that we have a sequence of data that is marred with some measurement error. Suppose further that we run a regression and it gives us a deviation for each value. We wish to obtain all...