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