NumPy vstack()

The vstack() method stacks the given sequence of input arrays vertically.

import numpy as np

array1 = np.array([[0, 1], [2, 3]])
array2 = np.array([[4, 5], [6, 7]])

# stack the arrays stackedArray = np.vstack((array1, array2))
print(stackedArray) ''' Output [[0 1] [2 3] [4 5] [6 7]] '''

vstack() Syntax

The syntax of vstack() is:

numpy.vstack(tup)

vstack() Arguments

The vstack() method takes a single argument:

  • tup - a tuple of arrays to be stacked

Note: The shape of all arrays in a given tuple must be the same, except the first dimension because we are stacking in axis 0.


vstack() Return Value

The vstack() method returns the vertically stacked array.


Example 1: Vertically Stack Arrays

import numpy as np

array1 = np.array([[0, 1], [2, 3]])
array2 = np.array([[4, 5], [6, 7]])
array3 = np.array([[8, 9]])

# stack the arrays stackedArray = np.vstack((array1, array2, array3))
print(stackedArray)

Output

[[0 1]
 [2 3]
 [4 5]
 [6 7]
 [8 9]]

Example 2: Vertically Stack Arrays of Invalid Shapes

import numpy as np

array1 = np.array([[0, 1], [2, 3]])
array2 = np.array([[4, 5, 6], [7, 8, 9]])

# stacks the arrays 
stackedArray = np.vstack((array1, array2))

print(stackedArray)

Output

ValueError: all the input array dimensions except 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