比如说,我有一个 numpy 数组定义为:
X = numpy.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
现在我想从此数组中抽取 3 个元素,但使用随机索引且不重复,所以我会得到,比如:
X_random_draw = numpy.array([5, 0, 9]
我怎样才能以最少的努力和最快的性能速度实现这样的目标?提前谢谢你。
最佳答案
对于 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])
https://stackoverflow.com/questions/29563788/