[Numpy-discussion] The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
Robert Kern
robert.kern at gmail.com
Wed Oct 27 17:00:39 EDT 2010
On Wed, Oct 27, 2010 at 15:58, Rick Muller <rpmuller at gmail.com> wrote:
> Help! I'm having a problem in searching through the *elements* if a 2d
> array. I have a loop over a numpy array:
>
> n,m = G.shape
> print n,m
> for i in xrange(n):
> for j in xrange(m):
> print type(G), type(G[i,j]), type(float(G[i,j]))
> g = float(abs(G[i,j]))
> if g < cut:
> print i,j,G[i,j]
>
> However, I'm getting the error message:
>
> The truth value of an array with more than one element is ambiguous. Use
> a.any() or a.all()
>
> despite the fact that I'm not computing a truth value of an array. I'd like
> to just compare to G[i,j] or abs(G[i,j]), which should be a *single* value,
> and *not* an array. I even call 'float' here to make sure that I cast this
> to a normal python float. But I still get this error message.
>
> At this point, I suspect that I'm doing something dumb, rather than
> discovering some unique bug in numpy. Can anyone help me out?
Can you provide a complete, self-contained example that does not work?
What kind of object is cut?
--
Robert Kern
"I have come to believe that the whole world is an enigma, a harmless
enigma that is made terrible by our own mad attempt to interpret it as
though it had an underlying truth."
-- Umberto Eco
More information about the NumPy-Discussion
mailing list