生成具有特定范围的随机二进制数组

时间:2015-09-09 20:15:18

标签: python python-2.7

我想生成具有特定范围的1的随机二进制数组,例如,如果我有6个向量,每个6位,1到1的范围,那么我的结果将是例如([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的组合,并使用我给出的1s的范围。

我正在使用:

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'连接在一起以得到我想要的向量,但这个想法效率不高,而且我想要一些东西让它更随机,更聪明。

谢谢

0 个答案:

没有答案