Numpy dstack() Function



The Numpy dstack() function is used to stack arrays in sequence depth-wise (along the third axis). This function is part of the numpy module. It is useful for stacking multiple arrays to create a 3D array, where each input array becomes a layer in the third dimension.

For example, stacking two 2D arrays with the same shape will result in a 3D array with the same height and width as the input arrays, and a depth equal to the number of arrays stacked.

In the numpy.dstack() function, if the input arrays have different shapes along the first or second axis, it will raise a ValueError.

Syntax

Following is the syntax of the Numpy dstack() function −

numpy.dstack(arrays)

Parameters

Following are the parameters of the Numpy dstack() function −

  • arrays - Sequence of arrays to be stacked. The arrays must have the same shape along the first and second axes.

Return Values

The function returns a 3D array with a new depth dimension, combining all input arrays along this third axis.

Example

Following is a basic example to stack two 1D arrays depth-wise using Numpy dstack()

import numpy as np
array1 = np.array([1, 2, 3])
array2 = np.array([4, 5, 6])
dstacked_array = np.dstack((array1, array2))
print("Array 1 -", array1)
print("Array 2 -", array2)
print("Depth-wise Stacked Array -\n", dstacked_array)

Output

Following is the output of the above code −

Array 1 - [1 2 3]
Array 2 - [4 5 6]
Depth-wise Stacked Array -
 [[[1 4]
  [2 5]
  [3 6]]]

Example - Depth-wise Stacking 2D Arrays

In the following example, we stack two 2D arrays depth-wise using numpy.dstack() to create a 3D array. Each input array has a shape of (2, 3), and the resulting array will have a shape of (2, 3, 2)

import numpy as np
array1 = np.array([[10, 20, 30], [40, 50, 60]])
array2 = np.array([[70, 80, 90], [100, 110, 120]])
dstacked_array = np.dstack((array1, array2))
print("Array 1 -\n", array1)
print("Array 2 -\n", array2)
print("Depth-wise Stacked Array -\n", dstacked_array)
print("Shape of Depth-wise Stacked Array -", dstacked_array.shape)

Output

Following is the output of the above code −

Array 1 -
 [[10 20 30]
  [40 50 60]]
Array 2 -
 [[ 70  80  90]
  [100 110 120]]
Depth-wise Stacked Array -
 [[[ 10  70]
  [ 20  80]
  [ 30  90]]

 [[ 40 100]
  [ 50 110]
  [ 60 120]]]
Shape of Depth-wise Stacked Array - (2, 3, 2)

Example - Stacking Arrays with Different Shapes

The input arrays must have the same shape along the first two axes. If they do not, numpy.dstack() will raise a ValueError. In the following example, we attempt to stack arrays of incompatible shapes −

import numpy as np
array1 = np.array([[1, 2], [3, 4]])
array2 = np.array([[5, 6, 7], [8, 9, 10]])
try:
    dstacked_array = np.dstack((array1, array2))
    print(dstacked_array)
except ValueError as e:
    print("ValueError:", e)

Output

Following is the output of the above code −

ValueError: all the input array dimensions except for the concatenation axis must match exactly
numpy_array_manipulation.htm
Advertisements
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy