Огурец не находит определения вашего шага. Предоставьте правильный «клей» для определения местоположения ваших определений шагов при запуске файла функций.
С массивами 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
Вот пример. У меня есть матрица 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]])