[Numpy-discussion] range in numpy where
Eric Firing
efiring at hawaii.edu
Thu Jan 22 19:57:02 EST 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.
Eric
>
> Then it bugs out with the following message:
>
> "The truth value of an array with more than one message is ambiguous"
>
> Any ideas?
>
> Cheers
>
> Ross
> _______________________________________________
> Numpy-discussion mailing list
> Numpy-discussion at scipy.org
> http://projects.scipy.org/mailman/listinfo/numpy-discussion
More information about the NumPy-Discussion
mailing list