如何从numpy数组中绘制N个随机索引元素而不重复?

时间:2015-04-10 14:17:15

标签: python arrays numpy

说,我有一个numpy数组定义为:

X = numpy.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

现在我想从这个数组中绘制3个元素,但是随机索引并没有重复,所以我会得到,说:

X_random_draw = numpy.array([5, 0, 9]

如何以最少的努力和最快的性能速度实现这样的目标?提前谢谢。

1 个答案:

答案 0 :(得分:6)

使用NumPy 1.7或更高版本,使用np.random.choicereplace=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])