On 3/1/07, Francesc Altet <[EMAIL PROTECTED]> wrote:
Hi, I don't think there is a solution for this, but perhaps anybody may offer some idea. Given: In [79]:a=numpy.arange(9,-1,-1) In [80]:b=numpy.arange(10) In [81]:numpy.random.shuffle(b) In [82]:b Out[82]:array([2, 6, 3, 5, 4, 9, 0, 8, 7, 1]) In [83]:a=a[b] In [84]:a Out[84]:array([7, 3, 6, 4, 5, 0, 9, 1, 2, 8]) is there a way to make the step 83 without having to keep 3 arrays in-memory at the same time? This is, some way of doing fancy indexing, but changing the elements *inplace*. The idea is to keep memory requeriments as low as possible when a and b are large arrays. Thanks!
I think that would be tough because of overlap between the two sides. The permutation could be factored into cycles which would mostly avoid that, but that is more theoretical than practical here. What is it you are trying to do? Chuck
_______________________________________________ Numpy-discussion mailing list Numpy-discussion@scipy.org http://projects.scipy.org/mailman/listinfo/numpy-discussion