w3resource

Select a Subarray from 4D NumPy array using Multi-dimensional indexing


Multi-dimensional Indexing:

Write a NumPy program that creates a 4D NumPy array and uses multi-dimensional indexing to select a subarray.

Sample Solution:

Python Code:

import numpy as np

# Create a 4D NumPy array of shape (3, 4, 5, 6) with random integers
array_4d = np.random.randint(0, 100, size=(3, 4, 5, 6))

# Use multi-dimensional indexing to select a subarray
# For example, select all elements from the first two blocks, 
# first three rows, first four columns, and first five depth slices
subarray = array_4d[:2, :3, :4, :5]

# Print the shape of the original 4D array and the selected subarray
print('Original 4D array shape:', array_4d.shape)
print('Selected subarray shape:', subarray.shape)
print('Selected subarray:\n', subarray)

Output:

Original 4D array shape: (3, 4, 5, 6)
Selected subarray shape: (2, 3, 4, 5)
Selected subarray:
 [[[[45 15 80 43 46]
   [39  9 61 70 69]
   [61 67 69 27 32]
   [24  5 85 61  8]]

  [[47 91 25 65 44]
   [95 74  0 54 38]
   [85 15 72 34  9]
   [ 6 17  7 95 19]]

  [[99 34 54  3  9]
   [63 49 59 35 35]
   [47 69 55 73 46]
   [19  8 66 56 59]]]


 [[[58 44 71 51  6]
   [52 32  2 20 94]
   [82 92 15 83  8]
   [57 38  0 38 89]]

  [[17 39 66 39 45]
   [71 40 11 57 41]
   [ 0 33 13 65 92]
   [83 98  0 93 28]]

  [[49 29 34 38 63]
   [ 1  1 34 83 13]
   [ 5 32 83 91 42]
   [33 47 14 62 57]]]]

Explanation:

  • Import Libraries:
    • Imported numpy as np for array creation and manipulation.
  • Create 4D NumPy Array:
    • Created a 4D NumPy array named array_4d with random integers ranging from 0 to 99 and a shape of (3, 4, 5, 6).
  • Multi-dimensional Indexing:
    • Used multi-dimensional indexing to select a subarray from array_4d. The subarray is defined by slicing the first two blocks, first three rows, first four columns, and first five depth slices.
  • Print Results:
    • Printed the shape of the original 4D array and the shape and content of the selected subarray to verify the indexing operation.

Python-Numpy Code Editor: