[Numpy-discussion] Getting indices from numpy array with condition
Wed Nov 19 05:24:31 CST 2008
2008/11/19 Robert Kern <email@example.com>:
> On Wed, Nov 19, 2008 at 01:31, David Warde-Farley <firstname.lastname@example.org> wrote:
>> On 18-Nov-08, at 3:06 PM, Robert Kern wrote:
>>> I like to discourage this use of where(). For some reason, back in
>>> Numeric's days, where() got stuck with two functionalities. nonzero()
>>> is the preferred function for this functionality. IMO, where(cond,
>>> if_true, if_false) should be the only use of where().
>> Hmm. nonzero() seems semantically awkward to be calling on a boolean
>> array, n'est pas?
> Why? In Python and numpy, False==0 and True==1.
Well, using nonzero() isn't actually all that obvious until you
understand that 1) a conditional expression like (a < 3) returns a
boolean array *and* 2) that False==0 and True==1. These two things
are not necessarily known to users who are scientists/engineers etc.
I've added an example of this use case at
added an FAQ http://www.scipy.org/FAQ , so that there's something to
point to in future.
More information about the Numpy-discussion