[SciPy-user] How to use where

Alexander Borghgraef alexander.borghgraef.rma at gmail.com
Thu Aug 21 10:26:55 EDT 2008


On Thu, Aug 21, 2008 at 4:03 PM, Dave <dave.hirschfeld at gmail.com> wrote:
> In [1]: listofvectors = rand(100,2)
>
> In [2]: bound = array([0.5,0.8])
>
> In [3]: idx = all(listofvectors  < bounds,axis=1)
>
> In [4]: inbounds = listofvectors[idx,:]

Neat. One less function call, seems like a good thing to me.

> I'm not sure of the utility of where - I tend to use boolean masks. Is there any
> reason one wouldn't use the code I posted above?

Can't see why not (please someone correct me if I'm wrong). After
playing with where a bit, my impression is that its main use is the
conditional replacement of elements, and not what I was trying to do
with it. For example:

a = arange(10)
> array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9])
where( a > 4, 0, a ** 2)
> array([ 0,  1,  4,  9, 16, 25, 36,  0,  0,  0])

Anyway, thanks to everyone who responded!



-- 
Alex Borghgraef



More information about the SciPy-User mailing list