Прямоугольный срез в NumPy
Для фрагмента задают сразу две пары границ через запятую: какие строки взять и какие столбцы. Каждая пара работает как срез в одномерном ряду: левая граница входит, правая не входит.
Создадим таблицу из четырёх строк и четырёх столбцов и выведем блок из двух строк и двух столбцов:
import numpy as np
grid = np.array([
[1, 2, 3, 4],
[5, 6, 7, 8],
[9, 10, 11, 12],
[13, 14, 15, 16],
])
block = grid[0:2, 1:3]
print(block) # выведет [[2 3] [6 7]]
Можно сместить границы. Создадим таблицу из трёх строк и пяти столбцов и выведем другой прямоугольник:
import numpy as np
scores = np.array([
[1, 2, 3, 4, 5],
[6, 7, 8, 9, 10],
[11, 12, 13, 14, 15],
])
part = scores[1:3, 2:5]
print(part) # выведет [[ 8 9 10] [13 14 15]]
Создайте таблицу 4 на 4
из последовательных чисел и выведите
квадратный блок из двух верхних
строк и двух левых столбцов.
Создайте таблицу из пяти строк и трёх столбцов с единицами и выведите прямоугольник из трёх нижних строк и двух правых столбцов.
Создайте таблицу 3 на 5
с любыми числами и выведите фрагмент
из одной средней строки и трёх
средних столбцов.