Функция tile
Функция tile создаёт новый массив, повторяя исходный массив
указанное количество раз вдоль каждой оси. Первым параметром
функция принимает массив для повторения, вторым - кортеж с количеством
повторений по каждому измерению. Если передано одно число, повторение
выполняется только по первой оси.
Синтаксис
np.tile(arr, reps)
Пример
Давайте повторим одномерный массив три раза:
import numpy as np
arr = np.array([1, 2, 3])
res = np.tile(arr, 3)
print(res)
Результат выполнения кода:
[1 2 3 1 2 3 1 2 3]
Пример
Теперь повторим одномерный массив по двум осям, создав двумерную плитку:
import numpy as np
arr = np.array([1, 2])
res = np.tile(arr, (2, 3))
print(res)
Результат выполнения кода:
[[1 2 1 2 1 2]
[1 2 1 2 1 2]]
Пример
Рассмотрим работу функции с двумерным массивом. Повторим его по строкам и столбцам:
import numpy as np
arr = np.array([[1, 2], [3, 4]])
res = np.tile(arr, (2, 3))
print(res)
Результат выполнения кода:
[[1 2 1 2 1 2]
[3 4 3 4 3 4]
[1 2 1 2 1 2]
[3 4 3 4 3 4]]
Пример
Если передать больше повторений, чем осей у массива, функция дополнит измерения слева единицами:
import numpy as np
arr = np.array([1, 2, 3])
res = np.tile(arr, (2, 2))
print(res)
Результат выполнения кода:
[[1 2 3 1 2 3]
[1 2 3 1 2 3]]
Смотрите также
-
функцию
repeat,
которая повторяет элементы массива, а не весь массив целиком -
функцию
broadcast_to,
которая транслирует массив к заданной форме без копирования данных -
функцию
stack,
которая объединяет массивы вдоль новой оси -
функцию
concatenate,
которая объединяет массивы вдоль существующей оси