[Tutor] IndexError: index out of bounds
Peter Otten
__peter__ at web.de
Wed Mar 27 22:22:10 CET 2013
Sayan Chatterjee wrote:
> Yes, when handled as a numpy array, it's working fine!
>
> Traceback (most recent call last):
> File "ZA.py", line 59, in <module>
> if temp_za == j:
> ValueError: The truth value of an array with more than one element is
> ambiguous. Use a.any() or a.all()
>From the attached script:
> if temp_za == j:
> counter += 1
Do you want to count the entries?
>>> temp_za = numpy.array([1, 2, 3, 2, 1, 1])
>>> (temp_za == 1).sum()
3
> This error occurs when the temp_za ( a numpy array, print temp_za works
> fine) is compared with j. I am attaching the code.
I'm sorry, I am lacking the domain knowledge to make sense of it. Just one
more remark:
[] < 0.0
is always False, regardless of the contents of the list
> Another question how do I get an integer value for p_za / 2 . Type
> casting with int says:
> TypeError: only length-1 arrays can be converted to Python scalars.
I'd use
numpy.array(p_za//2, dtype=int)
but I'm not a numpy expert. As you dig deeper the tutor mailing list may not
be the best place to ask -- numpy has a dedicated mailing list of its own.
More information about the Tutor
mailing list