首页 > 解决方案 > numpy.choice 与 numpy.randint 有何不同?

问题描述

我需要从长度为 n 的数组 A 中进行替换采样。我想知道以下两个命令有何不同。如果他们都给出相同的结果哪个更好(在性能等方面......)

A[np.random.randint(0, n, n)]

A[np.random.choice(n, n)]

标签: pythonnumpy

解决方案


选择的目的是对数组进行采样,给它一个整数是给它一个整数长度范围的捷径。因此,如果您以自己的方式滥用选择,则 randint 可能会更有效率。

然而,正确的做法是np.random.choice(A, size=n)。这正是您拼写“带有替换的样本”的方式。


推荐阅读