Velocity Reviews > Re: Faster way to map numpy arrays

# Re: Faster way to map numpy arrays

Stefan Behnel
Guest
Posts: n/a

 06-25-2012
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

 Thread Tools

 Posting Rules You may not post new threads You may not post replies You may not post attachments You may not edit your posts BB code is On Smilies are On [IMG] code is On HTML code is OffTrackbacks are On Pingbacks are On Refbacks are Off Forum Rules

 Similar Threads Thread Thread Starter Forum Replies Last Post Javier Montoya Python 3 06-12-2010 09:32 AM W. eWatson Python 2 11-23-2009 08:58 PM Bryan.Fodness@gmail.com Python 2 11-13-2007 10:36 PM Duncan Smith Python 3 04-25-2007 01:36 AM drife Python 1 03-01-2006 05:59 PM

Advertisments