NumPy получить субматрицу из 2d матрицы - PullRequest
0 голосов
/ 07 сентября 2018

у меня матрица из 400 столбцов, по 1000 строк

Каков наилучший способ извлечь из нее подматрицу, начиная, скажем, со строки 10, столбец 30 и заканчивая строкой 390, столбец 960?

Гул

1 Ответ

0 голосов
/ 07 сентября 2018

Если ваша матрица называется arr, используйте:

arr[10:391,30:961]

Помните, что python проиндексирован нулями!

Например, для этой матрицы с 10 строками и 5 столбцами:

>>> arr
array([[0.41296756, 0.14399754, 0.12606098, 0.61114244, 0.83243229],
       [0.91409281, 0.28715535, 0.63134933, 0.49837152, 0.15927328],
       [0.89021618, 0.16226017, 0.75576869, 0.4949617 , 0.86590637],
       [0.7684741 , 0.82399817, 0.48887077, 0.12121645, 0.64524496],
       [0.37356536, 0.4548252 , 0.09608423, 0.49361169, 0.12475545],
       [0.74875009, 0.16289433, 0.84103655, 0.09670591, 0.34296308],
       [0.0697272 , 0.87959546, 0.2928768 , 0.53756533, 0.96180757],
       [0.3495039 , 0.09705972, 0.05581994, 0.95367967, 0.94351724],
       [0.03739738, 0.65043277, 0.94139692, 0.82945502, 0.51765616],
       [0.07702866, 0.57164611, 0.55674663, 0.21082212, 0.76406612]])

Я могу выбрать строки 5-7, столбцы 1-3, используя:

>>> arr[5:8,1:4]
array([[0.16289433, 0.84103655, 0.09670591],
       [0.87959546, 0.2928768 , 0.53756533],
       [0.09705972, 0.05581994, 0.95367967]])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...