Use `random.shuffle(range(len(arr))` to make a list of indices.  Use a
slices to get your 20/80.  Convert to integer arrays and index your
original array with them.  Use sorted on the 80% list if you need to
preserve the order.

-Elliot

On Mon, May 16, 2016 at 11:04 AM, Martin Noblia <
martin.nob...@openmailbox.org> wrote:

> I think with `np.random.choice`
>
>
> http://docs.scipy.org/doc/numpy-dev/reference/generated/numpy.random.choice.html
>
>
> On 05/16/2016 11:08 AM, Florian Lindner wrote:
>
> Hello,
>
> I have an array of shape (n, 2) from which I want to extract a random sample
> of 20% of rows. The choosen samples should be removed the original array and
> moved to a new array of the same shape (n, 2).
>
> What is the most clever way to do with numpy?
>
> Thanks,
> Florian
> _______________________________________________
> NumPy-Discussion mailing 
> listNumPy-Discussion@scipy.orghttps://mail.scipy.org/mailman/listinfo/numpy-discussion
>
>
> --
> *Martin Noblia*
>
> _______________________________________________
> NumPy-Discussion mailing list
> NumPy-Discussion@scipy.org
> https://mail.scipy.org/mailman/listinfo/numpy-discussion
>
>
_______________________________________________
NumPy-Discussion mailing list
NumPy-Discussion@scipy.org
https://mail.scipy.org/mailman/listinfo/numpy-discussion

Reply via email to