[Numpy-discussion] range in numpy where
Thu Jan 22 18:57:02 CST 2009
Ross Williamson wrote:
> Hi All
> I want to get out the index of values in an array. Normally WHERE
> works fine for one conditional statement but it does not work for two
> - i.e.
> a = array([0,1,2,3,4,5,6,7,8,9])
> ind, = where(a > 5)
> Works fine but if I wanted:
> ind = where((a > 5) and (a<8))
Python/numpy wart: for fairly fundamental Python reasons, "and" does not
work elementwise so you have to use the "&" operator instead:
ind = where((a > 5) & (a<8))
Same for "or" and "|".
Parentheses as you have them are essential because of the precedence of
the bit operators.
> Then it bugs out with the following message:
> "The truth value of an array with more than one message is ambiguous"
> Any ideas?
> Numpy-discussion mailing list
More information about the Numpy-discussion