2017-12-07 12 views
0

タイトルにあるように、2D配列の中のランダムな要素を見つける必要があります。それから、私はこれを操作する必要があります。例えば2次元配列の中のランダムな要素を見つけて操作する

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

あなたがnumpyの中ですでにしているので、あなたはnp.random.randintを使用することができます。

n, m = Grid.shape 
row = np.random.randint(0, n) 
col = np.random.randint(0, m) 
Grid[row, col] *= -1 
関連する問題