numpy.tile

numpy.tile(a, rep)

Функция numpy.tile() создает массив повторением указанного массива a заданным количеством раз.

Параметры:
a - подобный массиву объект
Любой объект который может быть преобразован в массив NumPy.
rep - целое число или подобный массиву объект
Последовательность целых чисел, которые задают повторение массива a вдоль каждой оси.
Возвращает:
ndarray - массив NumPy
Массив образованный путем повторения указанного массива a.
Смотрите так же: repeat, block, broadcast, broadcast_to

Замечание

Данная функция может использоваться для транслирования массивов относительно друг друга, тем не менее, настоятельно рекомендуется использовать для этих целей специальные операции и функции транслирования NumPy.

Если длинна массива в параметре rep т.е. len(rep) больше количества осей массива a, то результирующий массив будет иметь размерность равную len(rep), в противном случае размерность не изменится.

Для согласования количества осей массива a и длинны массива в параметре rep, к массиву a могут добавляться единичные оси слева, если a.ndim < len(rep) или единицы слева к массиву rep если a.ndim > len(rep).

Примеры

>>> import numpy as np
>>> 
>>> a = np.array([1, 2])
>>> 
>>> np.tile(a, 2)
array([1, 2, 1, 2])
>>> 
>>> np.tile(a, [2, 2])
array([[1, 2, 1, 2],
       [1, 2, 1, 2]])
>>> 
>>> np.tile(a, [2, 2, 2])
array([[[1, 2, 1, 2],
        [1, 2, 1, 2]],

       [[1, 2, 1, 2],
        [1, 2, 1, 2]]])
>>> 
>>> b = np.array([[0, 2], [3, 5]])
>>> b
array([[0, 2],
       [3, 5]])
>>> 
>>> np.tile(b, 3)
array([[0, 2, 0, 2, 0, 2],
       [3, 5, 3, 5, 3, 5]])
>>> 
>>> np.tile(b, [1, 3])
array([[0, 2, 0, 2, 0, 2],
       [3, 5, 3, 5, 3, 5]])
>>> 
>>> np.tile(b, [3, 1])
array([[0, 2],
       [3, 5],
       [0, 2],
       [3, 5],
       [0, 2],
       [3, 5]])
>>> 
>>> 
>>> c = np.array([[1], [2], [3]])
>>> c
array([[1],
       [2],
       [3]])
>>> 
>>> np.tile(c, 5)
array([[1, 1, 1, 1, 1],
       [2, 2, 2, 2, 2],
       [3, 3, 3, 3, 3]])
>>> 
>>> np.tile(c, [2, 1])
array([[1],
       [2],
       [3],
       [1],
       [2],
       [3]])
>>> 
>>> np.tile(c, [2, 2, 2])
array([[[1, 1],
        [2, 2],
        [3, 3],
        [1, 1],
        [2, 2],
        [3, 3]],

       [[1, 1],
        [2, 2],
        [3, 3],
        [1, 1],
        [2, 2],
        [3, 3]]])