2024-05-16 18:05:38 发布
网友
我需要一个布尔或二进制numpy数组大小(m,m),其中n真值随机分散。我试着做一个随机的格子图案。我将有一个5x5数组,上面有3个真值,并且只在这些点采样。 使用随机选择我有时会得到大于或小于3所需的真值。在
(m,m)
n
5x5
3
for x in range(0,25): x = np.random.choice([True,False], p=[0.15,0.85])
您可以将^{}与可选参数replace设置为False一起使用,以便在使用^{}和{a3}的0到{}之间的id设置为zeros初始化{}数组中的{}。因此,实现将如下所示-
replace
False
0
zeros
m = 5; n = 3; out = np.zeros((m,m),dtype=bool) np.put(out,np.random.choice(range(m*m), n, replace=False),1)
样本运行-
因为这是linear indexing的情况,在最后一步,您还可以-
linear indexing
out.ravel()[np.random.choice(range(m*m), n, replace=False)] = 1
你可以用shuffle直接完成:
n = 3; m = 5 x = [True] * n + [False] * (m * m - n) np.random.shuffle(x) result = np.mat(x).reshape(m, m)
您可以将^{} 与可选参数} 和{a3}的}之间的id设置为}数组中的{}。因此,实现将如下所示-
replace
设置为False
一起使用,以便在使用^{0
到{zeros
初始化{样本运行-
^{pr2}$因为这是
linear indexing
的情况,在最后一步,您还可以-你可以用shuffle直接完成:
相关问题 更多 >
编程相关推荐