numpy.tile() in Python (original) (raw)

Last Updated : 28 Mar, 2022

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

import numpy as geek

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))

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

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

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://docs.scipy.org/doc/numpy/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 .