[Numpy-discussion] bug in numpy.where?

Phil Hodge hodge@stsci....
Thu Jul 26 13:33:45 CDT 2012


On a Linux machine:

 > uname -srvop
Linux 2.6.18-308.8.2.el5 #1 SMP Tue May 29 11:54:17 EDT 2012 x86_64 
GNU/Linux

this example shows an apparent problem with the where function:

Python 2.7.1 (r271:86832, Dec 21 2010, 11:19:43)
[GCC 4.1.2 20080704 (Red Hat 4.1.2-48)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
 >>> import numpy as np
 >>> print np.__version__
1.5.1
 >>> net = np.zeros(3, dtype='>f4')
 >>> net[1] = 0.00458849
 >>> net[2] = 0.605202
 >>> max_net = net.max()
 >>> test = np.where(net <= 0., max_net, net)
 >>> print test
[ -2.23910537e-35   4.58848989e-03   6.05202019e-01]

When I specified the dtype for net as '>f8', test[0] was 
3.46244974e+68.  It worked as expected (i.e. test[0] should be 0.605202) 
when I specified float(max_net) as the second argument to np.where.

Phil


More information about the NumPy-Discussion mailing list