【发布时间】:2021-12-28 10:21:18
【问题描述】:
我正在使用函数 numpy.random.choice 一次生成随机样本。但我希望所有样本都不同。有人知道这样做的功能吗?明确地说,我想要这个:
import numpy as np
a = np.random.choice(62, size=(1000000, 8))
assert( len(set([tuple(a[i]) for i in range(a.shape[0])])) == a.shape[0])
整数上的值可以替换。唯一需要的是所有行条目都不同。
【问题讨论】:
-
使用
replace=False。请参阅documentation。 -
抱歉,我们可以替换,唯一的要求是所有条目都不同。打算明确这一点。
-
如果可以替换(数字),那么条目并非全都不同。
-
您还可以生成一个数组(可能带有 arange 和 tile),然后对其进行随机播放。 Shuffle 仅适用于多维数组的第一个轴,这可能是您需要的。
-
我认为这里的意图是一行,而不是一个整数,是一个样本。所有行都必须是不同的,但个别数字应重复多次。