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

Reply via email to