Skip to main content

NumPy: Joining Arrays Using Stack Functions

stack() function is available in Numpy Package. It is used to join two or more arrays along a new axis. It works the same as concatenate.

Syntax:

numpy.stack((array1,array2......), axis=0)

Example:

import numpy as np
a=np.array([1,2,3])#(1,3)
b=np.array([4,5,6])#(1,3)
c=np.stack((a,b))
print(c)

Output:

[[1 2 3]
 [4 5 6]]

Stacking along Rows:

We use hstack() to do stacking along a row.

Example:

For 1-D Arrays

import numpy as np
a=np.arange(6)
b=np.arange(5)
print(np.hstack((a,b)))#Here a(1,6) and b(1,5) along axis=0

Output:

[0 1 2 3 4 5 0 1 2 3 4]

For 2-D Arrays

import numpy as np
a=np.array([[1,2],[3,4]])#axis=(2,2)
b=np.array([[5,6],[7,8]])#axis(2,2)
c=np.hstack((a,b))
print(c)

Output:

[[1 2 5 6]

[3 4 7 8]]

Stacking along Columns:

We use vstack() to do stacking along a column.

Example:

For 1-D Array:

import numpy as np
a=np.arange(5)
b=np.arange(5)
print(np.vstack((a,b)))

Output:

[[0 1 2 3 4]
 [0 1 2 3 4]]

For 2-D Array:

import numpy as np
a=np.array([[1,2],[3,4]])#axis=(2,2)
b=np.array([[5,6]])#axis(1,2)
c=np.vstack((a,b))
print(c)

Output:

[[1 2]
 [3 4]
 [5 6]]

Stacking along Height:

We use a dstack() to perform stacking along height(same as depth).

Example:

For 1-D Array:

import numpy as np
a=np.arange(5)
b=np.arange(5)
print(np.dstack((a,b)))

Output:

[[[0 0]
  [1 1]
  [2 2]
  [3 3]
  [4 4]]]

For 2-D Array:

import numpy as np
a=np.array([[1,2],[3,4]])#axis=(2,2)
b=np.array([[5,6],[7,8]])#axis(1,2)
c=np.dstack((a,b))
print(c)

Output:

[[[1 5] 
[2 6]] 
[[3 7] 
[4 8]]]
Submitted by devanshi.srivastava on September 2, 2021

Devanshi, is working as a Data Scientist with iVagus. She has expertise in Python, NumPy, Pandas and other data science technologies.

About

At ProgramsBuzz, you can learn, share and grow with millions of techie around the world from different domain like Data Science, Software Development, QA and Digital Marketing. You can ask doubt and get the answer for your queries from our experts.