numpy.tile() in Python
The numpy.tile() function constructs a new array by repeating array - 'arr', the number of times we want to repeat as per repetitions. The resulted array will have dimensions max(arr.ndim, repetitions) where, repetitions is the length of repetitions. If arr.ndim > repetitions, reps is promoted to arr.ndim by pre-pending 1’s to it. If arr.ndim < repetitions, reps is promoted to arr.ndim by pre-pending new axis. Syntax :
numpy.tile(arr, repetitions)
Parameters :
array : [array_like]Input array. repetitions : No. of repetitions of arr along each axis.
Return :
An array with repetitions of array - arr as per d, number of times we want to repeat arr
Code 1 :
# Python Program illustrating
# numpy.tile()
import numpy as geek
#Working on 1D
arr = geek.arange(5)
print("arr : \n", arr)
repetitions = 2
print("Repeating arr 2 times : \n", geek.tile(arr, repetitions))
repetitions = 3
print("\nRepeating arr 3 times : \n", geek.tile(arr, repetitions))
# [0 1 2 ..., 2 3 4] means [0 1 2 3 4 0 1 2 3 4 0 1 2 3 4]
# since it was long output, so it uses [ ... ]
Output :
arr : [0 1 2 3 4] Repeating arr 2 times : [0 1 2 3 4 0 1 2 3 4] Repeating arr 3 times : [0 1 2 ..., 2 3 4]
Code 2 :
# Python Program illustrating
# numpy.tile()
import numpy as geek
arr = geek.arange(3)
print("arr : \n", arr)
a = 2
b = 2
repetitions = (a, b)
print("\nRepeating arr : \n", geek.tile(arr, repetitions))
print("arr Shape : \n", geek.tile(arr, repetitions).shape)
a = 3
b = 2
repetitions = (a, b)
print("\nRepeating arr : \n", geek.tile(arr, repetitions))
print("arr Shape : \n", geek.tile(arr, repetitions).shape)
a = 2
b = 3
repetitions = (a, b)
print("\nRepeating arr : \n", geek.tile(arr, repetitions))
print("arr Shape : \n", geek.tile(arr, repetitions).shape)
Output :
arr : [0 1 2] Repeating arr : [[0 1 2 0 1 2] [0 1 2 0 1 2]] arr Shape : (2, 6) Repeating arr : [[0 1 2 0 1 2] [0 1 2 0 1 2] [0 1 2 0 1 2]] arr Shape : (3, 6) Repeating arr : [[0 1 2 ..., 0 1 2] [0 1 2 ..., 0 1 2]] arr Shape : (2, 9)
Code 3 : (repetitions == arr.ndim) == 0
# Python Program illustrating
# numpy.tile()
import numpy as geek
arr = geek.arange(4).reshape(2, 2)
print("arr : \n", arr)
a = 2
b = 1
repetitions = (a, b)
print("\nRepeating arr : \n", geek.tile(arr, repetitions))
print("arr Shape : \n", geek.tile(arr, repetitions).shape)
a = 3
b = 2
repetitions = (a, b)
print("\nRepeating arr : \n", geek.tile(arr, repetitions))
print("arr Shape : \n", geek.tile(arr, repetitions).shape)
a = 2
b = 3
repetitions = (a, b)
print("\nRepeating arr : \n", geek.tile(arr, repetitions))
print("arr Shape : \n", geek.tile(arr, repetitions).shape)
Output :
arr : [[0 1] [2 3]] Repeating arr : [[0 1] [2 3] [0 1] [2 3]] arr Shape : (4, 2) Repeating arr : [[0 1 0 1] [2 3 2 3] [0 1 0 1] [2 3 2 3] [0 1 0 1] [2 3 2 3]] arr Shape : (6, 4) Repeating arr : [[0 1 0 1 0 1] [2 3 2 3 2 3] [0 1 0 1 0 1] [2 3 2 3 2 3]] arr Shape : (4, 6)
References : https://numpy.org/doc/stable/reference/generated/numpy.tile.html Note : These codes won’t run on online IDE's. Please run them on your systems to explore the working .