Perhaps try the following: 1) sort x by x[:,0] 2) sort y by y[:,0] 3) loop through both at the same time building an array of indexes A that tells you the index of y[i,0] in x or just building a new array z with the value if you don't need them in order 4) if you do need them in order, unsort A by the sorting used to sort y and then index into x using the unsorted A.
use http://docs.scipy.org/doc/numpy/reference/generated/numpy.argsort.html#numpy.argsort On Wed, Aug 4, 2010 at 6:09 PM, John Salvatier <[email protected]>wrote: > How exactly are you looping? That sounds absurdly slow. > > What you need is a fast dictionary. > > On Wed, Aug 4, 2010 at 6:00 PM, Gökhan Sever <[email protected]>wrote: > >> >> >> On Wed, Aug 4, 2010 at 6:59 PM, <[email protected]> wrote: >> >>> Hey folks, >>> >>> I've one array, x, that you could define as follows: >>> [[1, 2.25], >>> [2, 2.50], >>> [3, 2.25], >>> [4, 0.00], >>> [8, 0.00], >>> [9, 2.75]] >>> >>> Then my second array, y, is: >>> [[1, 0.00], >>> [2, 0.00], >>> [3, 0.00], >>> [4, 0.00], >>> [5, 0.00], >>> [6, 0.00], >>> [7, 0.00], >>> [8, 0.00], >>> [9, 0.00], >>> [10,0.00]] >>> >>> Is there a concise, Numpythonic way to copy the values of x[:,1] over to >>> y[:,1] where x[:,0] = y[:,0]? Resulting in, z: >>> [[1, 2.25], >>> [2, 2.50], >>> [3, 2.25], >>> [4, 0.00], >>> [5, 0.00], >>> [6, 0.00], >>> [7, 0.00], >>> [8, 0.00], >>> [9, 2.75], >>> [10,0.00]] >>> >>> My current task has len(x) = 25000 and len(y) = 350000 and looping >>> through is quite slow unfortunately. >>> >>> Many thanks, >>> -paul >>> >>> >>> _______________________________________________ >>> NumPy-Discussion mailing list >>> [email protected] >>> http://mail.scipy.org/mailman/listinfo/numpy-discussion >>> >> >> My simplest approach would be: >> >> y[x[:0]-1] = x >> >> # Providing the arrays are nicely ordered and 1st column x is all integer. >> >> -- >> Gökhan >> >> _______________________________________________ >> NumPy-Discussion mailing list >> [email protected] >> http://mail.scipy.org/mailman/listinfo/numpy-discussion >> >> >
_______________________________________________ NumPy-Discussion mailing list [email protected] http://mail.scipy.org/mailman/listinfo/numpy-discussion
