我需要在2D数组中找到一个随机元素,如标题所示。然后我需要对此进行操作。
例如:
Grid = np.zeros((64,64))
ones = np.ones((32,64))
minus = -1 * ones
Grid[0:32,:] = ones[:]
Grid[32:64,:] = minus[:]
所以它的一半是1,一半是-1。然后我需要选择这个2D数组的随机元素,并对其进行操作。
例如,它需要执行以下操作:
def change(Grid):
Grid[0,0] *= -1
但对于此列表中的随机元素,但显然下面的代码不起作用。
Grid[random.choice,random.choice] *= -1
有没有办法用random.choice
执行此操作,还是有其他方法可以使其工作?
答案 0 :(得分:0)
由于你已经在NumPy,你可以使用np.random.randint
:
n, m = Grid.shape
row = np.random.randint(0, n)
col = np.random.randint(0, m)
Grid[row, col] *= -1