python - 如何在不重复的情况下从numpy数组中提取随机索引的N个元素?

比如说,我有一个 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/

相关文章:

html - 删除特定的 td 边框?

php - 使用 php mail() 函数发送链接

php - fatal error : Call to undefined function mb_

java - 如何从 3 个整数组成 HashMap 的键?

ruby-on-rails - 如何在日期选择中降序显示年份?

wpf - 如何将打印到标签上的文本设为粗体、斜体或下划线?

eclipse - .gitignore 文件在每次项目发生变化时添加 "/bin/"

php - 无法以正确的格式导出 xlsx 或 xls 所有数据都是困惑的

php - 如何在codeigniter中使用回调函数

java - RestEasy 忽略枚举的 @JsonCreator 方法