Я пытаюсь извлечь несколько подматриц, если моя разреженная матрица имеет несколько областей ненулевых значений.Извлечение нескольких подматриц в Python
Например, Скажем, у меня есть следующая матрица:
x = np.array([0,0,0,0,0,0],
[0,1,1,0,0,0],
[0,1,1,0,0,1],
[0,0,0,0,1,1],
[0,0,0,0,1,0])
Тогда мне нужно, чтобы иметь возможность извлечь области с ненулевыми значениями, т.е.
x_1 = [[1,1]
[1,1]]
и
x_2 = [[0,1],
[1,1],
[1,0]]
Я использую np.where(), чтобы найти индексы ненулевых значений и returni ng область только для одной подматрицы, но как я могу распространить ее на все возможные субрегионы в моей разреженной матрице?
Спасибо!
спасибо, но я получаю сообщение об ошибке с глобальным определением: NameError: глобальное имя «разрешение» не определен – alvarezcl
Это также, кажется, не работает в общем случае любых два подматрицы. – alvarezcl
@alvarezcl, вам нужно сначала определить 'res = []' в основной функции. Я загрузил фактический полный код. Попробуй. Кроме того, он работает для любого случая двух подматриц. Я тестировал его сначала для многих случаев. –