python从数组中随机选择一些元素_如何从numpy列表中随机选择n个元素?

>>> import numpy as np

>>> num_dim, num_data = 10, 5

>>> data = np.random.rand(num_data, num_dim)

>>> data

array([[ 0.0498063 , 0.18659463, 0.30563225, 0.99681495, 0.35692358,

0.47759707, 0.85755606, 0.39373145, 0.54677259, 0.5168117 ],

[ 0.18034536, 0.25935541, 0.79718771, 0.28604057, 0.17165293,

0.90277904, 0.94016733, 0.15689765, 0.79758063, 0.41250143],

[ 0.80716045, 0.84998745, 0.17893211, 0.36206016, 0.69604008,

0.27249491, 0.92570247, 0.446499 , 0.34424945, 0.08576628],

[ 0.35311449, 0.67901964, 0.71023927, 0.03120829, 0.72864953,

0.60717032, 0.8020118 , 0.36047207, 0.46362718, 0.12441942],

[ 0.1955419 , 0.02702753, 0.76828842, 0.5438226 , 0.69407709,

0.20865243, 0.12783666, 0.81486189, 0.95583274, 0.30157658]])

从data,我需要随机挑选3个向量,我可以做到这一点:

>>> import random

>>> random.sample(data, 3)

[array([ 0.80716045, 0.84998745, 0.17893211, 0.36206016, 0.69604008,

0.27249491, 0.92570247, 0.446499 , 0.34424945, 0.08576628]), array([ 0.18034536, 0.25935541, 0.79718771, 0.28604057, 0.17165293,

0.90277904, 0.94016733, 0.15689765, 0.79758063, 0.41250143]), array([ 0.35311449, 0.67901964, 0.71023927, 0.03120829, 0.72864953,

0.60717032, 0.8020118 , 0.36047207, 0.46362718, 0.12441942])]

是不是numpy.random.sample()与random.sample()不一样?

请问numpy的random.sample()是否等值?

2016-09-19

alvas

+3

我认为您正在寻找'np.random.choice'。虽然你需要传递'replace = False',它的行为与'random.sample'类似。 –

+1

你想做什么*做*?什么'numpy.random.sample'做(或不做),你想(或不想)它做? –

+0

@brenbarn我需要随机选择n号。来自矢量列表的元素。 –