[Numpy-discussion] Numpy unexpected (for me) behaviour
V. Armando Sole
sole@esrf...
Fri Jan 23 01:11:21 CST 2009
Hello,
In an effort to suppress for loops, I have arrived to the following situation.
Through vectorial logical operations I generate a set of indices for which
the contents of an array have to be incremented. My problem can be reduced
to the following:
#This works
import numpy
a=numpy.zeros(10)
b=numpy.ones(4, numpy.int)
for i in b:
a[i] += 1
#a[1] contains 4 at the end
#This does not work
import numpy
a=numpy.zeros(10)
b=numpy.ones(4, numpy.int)
a[b] += 1
#a[1] contains 1 at the end
Is that a bug or a feature? Is there a way I can achieve the first result
without a for loop? In my application the difference is a factor 10 in
execution time (1000 secons instead of 100 ...)
Thanks,
Armando
More information about the Numpy-discussion
mailing list