Let’s learn how to stack arrays in Numpy Python library.

Arrays are stackable. I’ll show how to stack array vertically and horizontally in Python Numpy.

## Using vstack

To stack arrays vertically use Numpy vstack function.

import numpy as np my_array = np.array([[0, 1], [2, 4], [5, 6]]) my_second_array = np.array([[1, 4], [3, 7], [5, 8]]) stacked_array = np.vstack((my_array, my_second_array)) print(f"Arrays stacked vertically: \n {stacked_array}")

## Using hstack

Similarlly you can stack array horizontally with Numpy hstack function.

import numpy as np my_array = np.array([[0, 1], [2, 4], [5, 6]]) my_second_array = np.array([[1, 4], [3, 7], [5, 8]]) stacked_array = np.hstack((my_array, my_second_array)) print(f"Arrays stacked horizontally: \n {stacked_array}")

## Stacking based on dimensions

There is also a possible to stack array based on dimensions configured by Numpy stack axis parameter.

Let’s see above example with two different axis parameters based on -1 and 1 dimension of stacking.

import numpy as np my_array = np.array([[0, 1], [2, 4], [5, 6]]) my_second_array = np.array([[1, 4], [3, 7], [5, 8]]) stacked_array = np.stack((my_array, my_second_array), axis=-1) print(f"Arrays stacked using axis=-1: \n {stacked_array}") stacked_array = np.stack((my_array, my_second_array), axis=1) print(f"Arrays stacked using axis=1: \n {stacked_array}")

As you can see there are difference in outputs depends on axis parameter chosen.

For 3-dimension axes you can set axis parameter between -3 and 3 (including 0). For every other value you will get different outputs.

## Using dstack

The other stacking possibility is also third axis stack. There is Numpy dstack function for that.

import numpy as np my_array = np.array([[0, 1], [2, 4], [5, 6]]) my_second_array = np.array([[1, 4], [3, 7], [5, 8]]) stacked_array = np.dstack((my_array, my_second_array)) print(f"Third axis stack: \n {stacked_array}")

Now you know so many ways to stack arrays in Python Numpy.