[Numpy-discussion] np.where: x and y need to have the same shape as condition ?

2013-01-29 Thread denis
Folks, 
  the doc for `where` says x and y need to have the same shape as condition
http://docs.scipy.org/doc/numpy-dev/reference/generated/numpy.where.html
But surely
where is equivalent to:
[xv if c else yv for (c,xv,yv) in zip(condition,x,y)]
holds as long as len(condition) == len(x) == len(y) ?
And `condition` can be broadcast ?
n = 3
all01 = np.array([ t for t in np.ndindex( n * (2,) )]) # 000 001 ...
x = np.zeros(n)
y = np.ones(n)
w = np.where( all01, y, x )  # 2^n x n  

Can anyone please help me understand `where`
/ extend where is equivalent to ... ?
Thanks,
cheers
  -- denis

___
NumPy-Discussion mailing list
NumPy-Discussion@scipy.org
http://mail.scipy.org/mailman/listinfo/numpy-discussion


Re: [Numpy-discussion] np.where: x and y need to have the same shape as condition ?

2013-01-29 Thread Benjamin Root
On Tue, Jan 29, 2013 at 6:16 AM, denis denis-bz...@t-online.de wrote:

 Folks,
   the doc for `where` says x and y need to have the same shape as
 condition
 http://docs.scipy.org/doc/numpy-dev/reference/generated/numpy.where.html
 But surely
 where is equivalent to:
 [xv if c else yv for (c,xv,yv) in zip(condition,x,y)]
 holds as long as len(condition) == len(x) == len(y) ?
 And `condition` can be broadcast ?
 n = 3
 all01 = np.array([ t for t in np.ndindex( n * (2,) )]) # 000 001 ...
 x = np.zeros(n)
 y = np.ones(n)
 w = np.where( all01, y, x )  # 2^n x n

 Can anyone please help me understand `where`
 / extend where is equivalent to ... ?
 Thanks,
 cheers
   -- denis


Do keep in mind the difference between len() and shape (they aren't the
same for 2 and greater dimension arrays).  But, ultimately, yes, the arrays
have to have the same shape, or use scalars.  I haven't checked
broadcast-ability though.  Perhaps a note should be added into the
documentation to explicitly say whether the arrays can be broadcastable.

Ben Root
___
NumPy-Discussion mailing list
NumPy-Discussion@scipy.org
http://mail.scipy.org/mailman/listinfo/numpy-discussion