我想生成具有特定范围1的随机二进制数组,例如,如果我有6个向量,每个向量都是6位,1的范围是1-3,那么我的结果就是([1,0,0,1,0,0],[1,0,0,0,0,0],[1,1,0,0,0,0],[1,0,1,0,0,1,0], etc)
,例如,给我一些0和1的组合,并使用我给出的1的范围。你知道吗
我正在使用:
arr = np.array([1] * K + [0] * (N-K))
np.random.shuffle(arr)
要生成特定数量为1的向量,我使用:
arr2 = np.array([1] * (K-K+1) + [0] * (N-1))
np.random.shuffle(arr2)
arr3 = np.array([1] * (K-K+2) + [0] * (N-2))
np.random.shuffle(arr3)
arr4 = np.array([1] * (K-K+3) + [0] * (N-3))
np.random.shuffle(arr4)
arr5 = np.array([1] * (K-K+4) + [0] * (N-4))
np.random.shuffle(arr5)
把它们和“axis=0”连在一起,得到我想要的向量,但是这个想法效率不高,我想让它更随机,更聪明。你知道吗
谢谢
你试过这个吗?你知道吗
其中
r
是行数,c
是列数。你知道吗相关问题 更多 >
编程相关推荐