Наткнулся на это, пытаясь решить вопрос, связанный с судоку.
Мне нужно вернуть все матрицы 3 * 3 из большей матрицы 9 * 9.
Есть ли прямой способ сделать это в numpy?
Мой текущий подход предполагает выполнение двух разбиений - сначала по горизонтали, а затем по вертикали для каждого элемента в списке, полученном из предыдущего разбиения
grid= np.array([[5,3,4,6,7,8,9,1,2],
[6,7,2,1,9,5,3,4,8],
[1,9,8,3,3,2,5,6,7],
[8,5,9,7,6,1,4,2,3],
[4,2,6,8,5,3,7,9,1],
[7,1,3,9,2,4,8,5,6],
[9,6,1,5,3,7,2,8,4],
[2,8,7,4,1,9,6,3,5],
[3,4,5,2,8,6,1,7,9]])
for i in np.split(grid,3):
for t in (np.hsplit(i,3)):
print(t)