w3resource

NumPy: Split array into multiple sub-arrays along the 3rd axis


Split Array Along 3rd Axis

Write a NumPy program to split an array into multiple sub-arrays along the 3rd axis.

Sample Solution:

Python Code:

# Importing the NumPy library and aliasing it as 'np'
import numpy as np

# Printing a message indicating the original array will be displayed
print("\nOriginal arrays:")

# Creating a NumPy array 'x' with elements from 0 to 15 and reshaping it into a 3-dimensional array of shape (2, 2, 4)
x = np.arange(16.0).reshape(2, 2, 4)

# Displaying the original 3D array 'x'
print(x)

# Splitting the 3D array 'x' into two sub-arrays along the third axis using np.dsplit()
new_array1 = np.dsplit(x, 2)

# Printing a message indicating the splitting of the array along the 3rd axis and displaying the resulting sub-arrays
print("\nsplit array into multiple sub-arrays along the 3rd axis:")
print(new_array1) 

Sample Output:

Original arrays:
[[[ 0.  1.  2.  3.]
  [ 4.  5.  6.  7.]]

 [[ 8.  9. 10. 11.]
  [12. 13. 14. 15.]]]

split array into multiple sub-arrays along the 3rd axis:
[array([[[ 0.,  1.],
        [ 4.,  5.]],

       [[ 8.,  9.],
        [12., 13.]]]), array([[[ 2.,  3.],
        [ 6.,  7.]],

       [[10., 11.],
        [14., 15.]]])]

Explanation:

In the above code –

x = np.arange(16.0).reshape(2, 2, 4): It creates a 3-dimensional NumPy array x of shape (2, 2, 4) with elements from 0.0 to 15.0.

new_array1 = np.dsplit(x, 2): This line splits the 3-dimensional array x into two equal parts depth-wise (along the third axis). The result is a list of two 3-dimensional arrays, each of shape (2, 2, 2):

Pictorial Presentation:

Python NumPy: Split array into multiple sub-arrays along the 3rd axis.

For more Practice: Solve these Related Problems:

  • Write a NumPy program to split a 3D array into multiple sub-arrays along the third axis using np.split.
  • Create a function that partitions a 3D array into two parts along the last axis and verifies the shapes.
  • Test the split operation on a 3D array and ensure that each resulting sub-array retains the original depth.
  • Implement a solution that uses np.array_split to handle cases where the split is uneven.

Go to:


PREV : Split Array Vertically
NEXT : Count Dimensions, Elements, and Bytes of Array


Python-Numpy Code Editor:

Have another way to solve this solution? Contribute your code (and comments) through Disqus.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Follow us on Facebook and Twitter for latest update.