Skip to content

NumPy Tile to Arrange Arrays

NumPy Tile Arrange Arrays Cover Image

In this tutorial, you’ll learn how to use the NumPy tile function to arrange arrays using Python. The NumPy tile() function takes an array as an input and creates a new array by repeating the input array in different ways. Being able to work with and manipulate NumPy arrays is an important skill for data analysis, machine learning, and deep learning.

By the end of this tutorial, you’ll have learned:

  • What the NumPy tile function does
  • How to arrange NumPy arrays horizontally (column-wise)
  • How to arrange NumPy arrays vertically (row-wise)
  • How to arrange multi-dimensional arrays using NumPy tile

Let’s get started!

NumPy Tile Function Syntax

The Numpy tile() function takes an array, A, and returns the array repeated by a given number of repetitions. The function can work quite simply by passing in an integer to simply repeat length-wise. However, you can also tile the arrays using in two dimensions, or even more dimensions.

Let’s take a look at how the function is constructed:

# Understanding the np.tile() Function
np.tile(
    A,      # The input array
    reps    # Num of repetitions along each axis
)

Let’s break this down a little further. The parameter, A, allows you to pass in a NumPy array or an array-like data structure, such as a list or a tuple.

The reps= parameter is a bit more complex. This is because the reps= parameter can be used to change the dimensions of the array. The argument you pass into the reps parameter is an array-like data structure which defines the shape in which you want to tile the array.

For example, when you pass in a tuple of (1, 2), NumPy will tile the original array one time along the first dimension and twice along the second dimension.

Let’s see how we can put the NumPy tile() function to use!

How to Arrange NumPy Arrays Horizontally with Tile

In this section, you’ll learn how to use the NumPy tile() function to repeat items horizontally. Let’s first create a NumPy array and then see how we can pass it into the tile() function to repeat it. In our example, we’ll repeat the example 3 times:

# Repeating a NumPy Array Horizontally with tile()
import numpy as np

array1 = np.array([1,2,3])
tiled = np.tile(array1, 3)

print(tiled)

# Returns:
# [1 2 3 1 2 3 1 2 3]

We can see in the example above that a single, one-dimensional array is returned. Note here that the dimension didn’t change! We did not repeat the array three times, but rather the items in the array.

In the next section, you’ll learn how to arrange NumPy arrays vertically.

How to Arrange NumPy Arrays Vertically with Tile

Similar to the example above, we can also use NumPy to arrange arrays vertically. In this case, we can stack the arrays on top of one another. Because we’ll be turning a one-dimensional array into two dimensions, the dimensions will change

In order to do this, we need to pass in a tuple with two dimensions. Imagine we wanted to repeat the array three time, column-wise. In that case, we could write:

# Repeating a NumPy Array Vertically with tile()
import numpy as np

array1 = np.array([1,2,3])
tiled = np.tile(array1, (3,1))

print(tiled)

# Returns:
# [[1 2 3]
#  [1 2 3]
#  [1 2 3]]

What we’ve done here is pass in the tuple of (3, 1), which means the array is repeated three times down and only a single time across.

Let’s try something different, where we can repeat the array both horizontally and vertically. Let’s pass in the tuple (3, 2), meaning that the array should repeat three times down and two times across:

# Repeating an Array Both Across and Down
import numpy as np

array1 = np.array([1,2,3])
tiled = np.tile(array1, (3,2))

print(tiled)

# Returns:
# [[1 2 3 1 2 3]
#  [1 2 3 1 2 3]
#  [1 2 3 1 2 3]]

How to Arrange NumPy Multidimensional Arrays with Tile

In this section, you’ll learn how to arrange multi-dimensional arrays using the np.tile() function. This process works exactly the same as the previous examples, except the arranging of the tiles will look a little differently.

Let’s take a look at an example of a 2×2 array which we will tile twice in each direction:

# Arranging Multidimensional Arrays with .tile()
import numpy as np

array1 = np.array([[1,2], [3,4]])
tiled = np.tile(array1, (3,2))

print(tiled)

# Returns:
# [[1 2 1 2]
#  [3 4 3 4]
#  [1 2 1 2]
#  [3 4 3 4]
#  [1 2 1 2]
#  [3 4 3 4]]

How to Repeat Python Lists and Tuples with NumPy Tile

The NumPy tile function expects an array-like structure. This means that we can actually pass in lists and tuples and the items will also be repeated. Let’s see how we can pass in a tuple and have it be repeated with the tile() function:

# Tiling a Tuple with np.tile()
import numpy as np

tuple1 = (1,2,3)
tiled = np.tile(tuple1, (3,2))

print(tiled)

# Returns:
# [[1 2 3 1 2 3]
#  [1 2 3 1 2 3]
#  [1 2 3 1 2 3]]

Even though we passed in a tuple, the function still returns a NumPy array.

Conclusion

In this tutorial, you learned how to use the NumPy tile function. You learned how the syntax of the function allows you to pass in an array-like structure and the pattern in which you want to arrange the data. Then, you learned how to arrange arrays horizontally and vertically. You also learned how to work with multi-dimensional arrays and how to tile lists and tuples.

Additional Resources

To learn more about related topics, check out the tutorials below:

Nik Piepenbreier

Nik is the author of datagy.io and has over a decade of experience working with data analytics, data science, and Python. He specializes in teaching developers how to use Python for data science using hands-on tutorials.View Author posts

Tags:

Leave a Reply

Your email address will not be published. Required fields are marked *