我正在生成一个
random matrix
具有
1的
和
0的
我创建了一个大小相同的矩阵,称为网格。
我需要通过减少和增加1的数量来控制1的数量,并将它们放入我的网格矩阵中
例如,如果矩阵
x
有60个1,我需要将这60个减少到30,并将它们放入网格矩阵中。下面的python代码显示了这个过程。请问,我该如何修复它?
这低于我的尝试。有人能帮我修一下吗?
import random
import numpy as np
x = [[random.randint(0,1) for i in range(10)]for j in range(10)]
grid = np.array([[0 for i in range(len(x[0]))]for j in range(len(x))])
for i in range(len(grid)):
for j in range(len(grid[0])):
if x[i][j] <= 0.9:
grid[i][j] = 0
else:
grid[i][j] = 1
print(x)
print(grid)
输出示例:
x=
[[0, 1, 1, 1, 1, 1, 0, 0, 1, 1], [0, 0, 1, 0, 1, 1, 1, 0, 0, 0], [0, 1, 0, 1, 1, 0, 0, 0, 0, 1], [0, 0, 1, 1, 1, 1, 0, 1, 0, 0], [1, 0, 1, 1, 1, 1, 1, 0, 0, 0], [0, 0, 0, 1, 0, 1, 1, 1, 1, 1], [1, 0, 1, 1, 0, 1, 0, 0, 0, 1], [0, 0, 1, 1, 1, 1, 0, 1, 0, 0], [0, 1, 0, 1, 1, 1, 1, 0, 1, 0], [0, 0, 1, 1, 0, 1, 1, 0, 0, 0]]
减少1的网格数量后,网格将变为如下:
grid =
[[0 0 0 0 0 0 0 0 1 0]
[0 0 0 0 0 1 0 0 0 0]
[0 0 0 1 0 0 0 0 0 0]
[0 0 0 0 1 0 0 0 0 0]
[0 1 0 0 0 0 0 1 0 0]
[0 0 0 0 0 0 0 1 0 0]
[0 0 0 1 0 0 0 1 0 0]
[0 0 0 0 0 0 0 0 0 0]
[0 1 0 0 0 1 0 0 0 0]
[0 1 0 0 1 0 0 0 0 0]]