In this article, we will cover the Indexing of Multi-dimensional arrays in Python using NumPy.
NumPy is a general-purpose array-processing package. It provides a high-performance multidimensional array object and tools for working with these arrays. It is the fundamental package for scientific computing with Python. It contains various features.
Note: For more information, refer to Python Numpy
Example 1:
Creating the single-dimensional array.
Python3
# numpy library imported import numpy as np # creating single-dimensional array arr_s = np.arange( 5 ) print (arr_s) |
Output:
[0 1 2 3 4]
Example 2:
The arrange() method in NumPy creates a single-dimension array of length 5. A single parameter inside the arrange() method acts as the end element for the range. arrange() also takes start and end arguments with steps.
Python3
import numpy as np # here inside arrange method we # provide start, end, step as # arguments. arr_b = np.arange( 20 , 30 , 2 ) # step argument helps in printing # every said step and skipping the # rest. print (arr_b) |
Output:
[20 22 24 26 28]
Example 3:
Indexing these arrays is simple. Every array element has a particular index associated with them. Indexing starts at 0 and goes on till the length of array-1. In the previous example, arr_b has 5 elements within itself. Accessing these elements can be done with: array_name[index_number]
Python3
import numpy as np # provide start, end, step as # arguments. arr_b = np.arange( 20 , 30 , 2 ) # step argument helps in printing # every said step and skipping the # rest. print (arr_b) print (arr_b[ 2 ]) # Slicing operation from index # 1 to 3 print (arr_b[ 1 : 4 ]) |
Output:
[20 22 24 26 28] 24 [22 24 26]
Example 4:
For Multidimensional array, you can use reshape() method along with arrange()
Python3
import numpy as np arr_m = np.arange( 12 ).reshape( 6 , 2 ) print (arr_m) |
Output:
[[ 0 1] [ 2 3] [ 4 5] [ 6 7] [ 8 9] [10 11]]
Example 5:
Inside reshape() the parameters should be the multiple of the arrange() parameter. In our previous example, we had 6 rows and 2 columns. You can specify another parameter whereby you define the dimension of the array. By default, it is a 2d array.
Python3
import numpy as np arr_m = np.arange( 12 ).reshape( 2 , 2 , 3 ) print (arr_m) |
Output:
[[[ 0 1 2] [ 3 4 5]] [[ 6 7 8] [ 9 10 11]]]
Example 6:
To index a multi-dimensional array you can index with a slicing operation similar to a single dimension array.
Python3
import numpy as np arr_m = np.arange( 12 ).reshape( 2 , 2 , 3 ) # Indexing print (arr_m[ 0 : 3 ]) print () print (arr_m[ 1 : 5 : 2 ,:: 3 ]) |
Output:
[[[ 0 1 2] [ 3 4 5]] [[ 6 7 8] [ 9 10 11]]] [[[6 7 8]]]