Python 如何控制(减少)网格矩阵中的数字1?
我正在生成一个Python 如何控制(减少)网格矩阵中的数字1?,python,list,Python,List,我正在生成一个随机矩阵,具有1的和0的,我创建了一个名为grid的矩阵,大小相同我需要通过减少和增加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)] gri
随机矩阵
,具有1的和0的,我创建了一个名为grid的矩阵,大小相同我需要通过减少和增加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)
这是我力所能及的。谁能帮我修一下吗
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)
减少1的数量后,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]]
你能添加你的输入和期望的输出吗?@SubhrajyotiDas我编辑了我的亲爱的。你如何决定要删除多少个1?@SubhrajyotiDas,如果x[I][j]这个条件没有任何作用,你可以使用一个条件。它保持0为0,1为1。我的问题是,您如何决定第一行中只需要1个