[Numpy-discussion] element-wise logical operations on numpy arrays
Charles R Harris
Wed Jul 9 11:34:06 CDT 2008
On Wed, Jul 9, 2008 at 10:21 AM, Catherine Moroney <
> I have a question about performing element-wise logical operations
> on numpy arrays.
> If "a", "b" and "c" are numpy arrays of the same size, does the
> syntax work?
> mask = (a > 1.0) & ((b > 3.0) | (c > 10.0))
> It seems to be performing correctly, but the documentation that I've
> indicates that "&" and "|" are for bitwise operations, not element-by-
> element operations in arrays.
They perform bitwise operations element by element. They only work for
integer/bool arrays and you should avoid mixing signed/unsigned types
because of the type promotion rules. Other than that, things should work
> I'm trying to avoid using "logical_and" and "logical_or" because they
> make the code more cumbersome and difficult to read. Are "&" and "|"
> acceptable substitutes for numpy arrays?
Generally, yes, but they are more restrictive in the types they accept.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Numpy-discussion