创建更大范围的随机样本

Creating random sample larger that range

我正在尝试创建一个包含 500 个介于(包括)60 和 126 之间的值的样本。我有 ATM:

random.sample(range(60,126),500)

但语法无效,因为样本量大于我指定的范围。

我应该使用 'list' 还是某种迭代来代替,如果是,如何?

您可以使用 random.choices:

random.choices(range(60, 126), k=500)

这将 return 包含 500 个值的列表,其中每个值都来自提供的范围。值将从每次选择中的同一个集合中采样,因此每个值可能出现不止一次(即使集合大小大于 k)。

您可以使用 numpy.random.randint 更快更简单的方法

np.random.randint(60, 127, size=500)