Suppose I have a numpy array
np.array([ [3, 0, 5, 3, 0, 1], [0, 1, 2, 1, 5, 2], [4, 3, 5, 3, 1, 4], [2, 5, 2, 5, 3, 1], [0, 1, 2, 1, 5, 2], ]
Use np.ravel or the ravel method to create a flattened. Note that the flatten method always creates a copy, so mutating won't work.
np.ravel
ravel
flatten
a = np.array([ [3, 0, 5, 3, 0, 1], [0, 1, 2, 1, 5, 2], [4, 3, 5, 3, 1, 4], [2, 5, 2, 5, 3, 1], [0, 1, 2, 1, 5, 2], ]) r = a.ravel() r[random.randrange(0, len(r))] = 0