[Numpy-discussion] In-place fancy selection
Charles R Harris
charlesr.harris@gmail....
Thu Mar 1 14:26:09 CST 2007
On 3/1/07, Francesc Altet <faltet@carabos.com> 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://projects.scipy.org/pipermail/numpy-discussion/attachments/20070301/f0435e44/attachment-0001.html
More information about the Numpy-discussion
mailing list