Saurabh Kabra, 25.06.2012 05:37: > I have written a script to map a 2D numpy array(A) onto another array(B) of > different dimension. more than one element (of array A) are summed and > mapped to each element of array B. To achieve this I create a list where I > store the index of array A to be mapped to array B. The list is the > dimension of array B (if one can technically say that) and each element is > a list of indices to be summed. Then I parse this list with a nested loop > and compute each element of array B. > > Because of the nested loop and the big arrays the process takes a minute or > so. My question is: is there a more elegant and significantly faster way of > doing this in python?
I'm sure there's a way to do this kind of transformation more efficiently in NumPy. I faintly recall that you can use one array to index into another, something like that might do the trick already. In any case, using a NumPy array also for the mapping matrix sounds like a straight forward thing to try. But you might also want to take a look at Cython. It sounds like a problem where a trivial Cython implementation would seriously boost the performance. http://docs.cython.org/src/tutorial/numpy.html Stefan -- http://mail.python.org/mailman/listinfo/python-list