说,我有一个numpy数组定义为:
X = numpy.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
现在我想从这个数组中绘制3个元素,但是随机索引并没有重复,所以我会得到,说:
X_random_draw = numpy.array([5, 0, 9]
如何以最少的努力和最快的性能速度实现这样的目标?提前谢谢。
答案 0 :(得分:6)
使用NumPy 1.7或更高版本,使用np.random.choice
,replace=False
:
In [85]: X = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
In [86]: np.random.choice(X, 3, replace=False)
Out[86]: array([7, 5, 9])