Дополнение краёв в NumPy
Чтобы добавить вокруг массива рамку из нулей, используют
функцию pad.
Она расширяет массив,
дописывая по краям новые ячейки.
В этом уроке используем режим
с постоянным значением: все
добавленные ячейки заполняются
одним и тем же числом, обычно
нулём.
Создадим таблицу 2×2 и добавим
по одному слою нулей со всех
сторон. Выведем исходный массив
и результат:
import numpy as np
table = np.array([[1, 2], [3, 4]])
print(table) # выведет [[1 2] [3 4]]
bordered = np.pad(table, 1, constant_values=0)
print(bordered) # выведет [[0 0 0 0] [0 1 2 0] [0 3 4 0] [0 0 0 0]]
Внутренние числа остаются на месте, форма становится больше на два шага по каждой оси. То же правило работает и для одномерного ряда:
import numpy as np
row = np.array([5, 6, 7])
bordered = np.pad(row, 1, constant_values=0)
print(bordered) # выведет [0 5 6 7 0]
Создайте таблицу [[10, 20], [30, 40]].
Добавьте вокруг неё рамку из нулей
шириной один элемент и выведите
результат.
Создайте ряд [1, 2, 3].
Добавьте по одному нулю слева
и справа и выведите результат.