Как я могу выбрать маленькую матрицу из большей матрицы по ее индексу

Огурец не находит определения вашего шага. Предоставьте правильный «клей» для определения местоположения ваших определений шагов при запуске файла функций.

0
задан Erik 18 January 2019 в 19:22
поделиться

2 ответа

С массивами NumPy вы можете использовать довольно удобные методы индексации, что является особенностью NUMPY частей, которые называются причудливой индексации .
Давайте попробуем это с небольшим примером 2D-массива:

import numpy as np
a=np.arange(48).reshape(6, 8)
print(a)
#[[ 0  1  2  3  4  5  6  7]
# [ 8  9 10 11 12 13 14 15]                                  
# [16 17 18 19 20 21 22 23]                                 
# [24 25 26 27 28 29 30 31]                                
# [32 33 34 35 36 37 38 39]                                 
# [40 41 42 43 44 45 46 47]]             

Если вы сейчас хотите проиндексировать, например, В строках 2 и 3 и столбцах с 3 по 6 вы можете просто записать это в виде срезов, независимо от того, по константам или переменным:

r1 = 2; r2 = 4
print(a[r1:r2, 3:7])
#[[19 20 21 22]                                               
# [27 28 29 30]]            

Вы можете прочитать здесь: https: / /docs.scipy.org/doc/numpy/user/basics.indexing.html

0
ответ дан SpghttCd 18 January 2019 в 19:22
поделиться

Вот пример. У меня есть матрица 3x3 с именем «a», и я хочу выбрать верхнюю левую матрицу 2x2 с именем «c».

>>> import numpy as np # importing numpy
>>> a=np.matrix('1 2 3;4 5 6;7 8 9') # creating an example matrix, named a
>>> a
matrix([[1, 2, 3],
        [4, 5, 6],
        [7, 8, 9]])
>>> b=[[a.item(0,0),a.item(0,1)],[a.item(1,0),a.item(1,1)]] # creating a list, with 1,1 1,2 2,1 and 2,2 indices of a. remember, in math indexing starts from 1 but in most programming languages, it starts from 0
>>> b
[[1, 2], [4, 5]]
>>> c=np.matrix(b) # creating an numpy matrix object from b which is a part of a
>>> c
matrix([[1, 2],
        [4, 5]])
0
ответ дан Erik 18 January 2019 в 19:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: