Рассмотрим матрицу 6x6:
x = np.arange(36).reshape(6,6)
Затем вы можете использовать random.choice () для матрицы, свернутой в одно измерение ( flatten () )
np.random.choice(x.flatten(), 10, replace=False)
, чтобы получить 10 случайных элементов.
Для np.matrix
, как и в вашем случае, оно меняется, и я не знаю прямого метода. Что вы можете сделать, это следующим образом.
Вы выбираете индексы.
selected = np.random.choice(a.shape[0]*a.shape[1], 10, replace=False)
# e.g., array([[25, 19, 5, 4, 32, 33, 13, 1, 2, 16]])
# a.shape[0]*a.shape[1]=36 in your case
Наконец, вы берете элементы, соответствующие выбранным индексам в матрице flatten ()
a.flatten()[0,selected]
Редактировать
Существует также прямой метод, основанный на numpy.matrix.A1
a = np.matrix(np.random.randint(220,376, size=(6,6)))
elements = np.random.choice(a.A1, 10, replace=False)