NumPy vstack()
Summary: in this tutorial, you’ll learn how to use the NumPy vstack()
function to vertically join elements of two or more arrays into a single array.
Introduction to the NumPy vstack() function
The vstack()
function joins elements of two or more arrays into a single array vertically (row-wise).
Here’s the syntax of the vstack()
function:
numpy.vstack((a1,a2,...))
In this syntax, the (a1, a2, …) is a sequence of arrays with the ndarray
type.
All arrays a1, a2, .. must have the same shape along all but the first axis. If they’re 1D arrays, then they must have the same length.
NumPy vstack() function examples
Let’s take some examples of using the vstack()
function.
1) Using vstack() function to join elements of 1D arrays
The following example uses the vstack()
function to join two 1D arrays vertically:
import numpy as np
a = np.array([1, 2])
b = np.array([3, 4])
c = np.vstack((a, b))
print(c)
Output:
[[1 2]
[3 4]]
Note that for 1D arrays, all input arrays must have the same length or you’ll get an error.
The following example attempts to join elements of two 1D arrays with different lengths and causes an error:
import numpy as np
a = np.array([1, 2])
b = np.array([3, 4, 5])
c = np.vstack((a, b))
print(c)
Error:
ValueError: all the input array dimensions for the concatenation axis must match exactly, but along dimension 1, the array at index 0 has size 2 and the array at index 1 has size 3
2) Using vstack() function to join elements of 2D arrays
The following example uses the vstack()
function to join elements of two 2D arrays:
import numpy as np
a = np.array([
[1, 2],
[3, 4]
])
b = np.array([
[5, 6],
[7, 8]
])
c = np.vstack((a, b))
print(c)
Output:
[[1 2]
[3 4]
[5 6]
[7 8]]
Summary
- Use the numpy
vstack()
function to join two or more arrays vertically.