Numpy argsort uses to perform an indirect sort along the axis. It returns an array of indices sorted along the axis. In this entire tutorial, I will show you different examples for NumPy argsort method.
But before coding the demonstration part let’s learn the syntax for the numpy.argsort() method. The syntax for it is below.
numpy.argsort(a, axis=-1, kind=None, order=None)
a: The small a tells you to enter the array you want to sort.
axis: It tells you along which axis you want to sort. The default value of it is -1( last axis).
kind: The type of sorting that is quicksort, mergesort, heapsort, stable. The default sorting method is quicksort.
order: When a is an array with fields defined, this argument specifies which fields to compare first, second, etc.
The First step is to install and import the necessary libraries for this tutorial. Here I am using only NumPy python module. If you have not installed it then you can install numpy in pycharm easily.
import numpy as np
Let’s create a NumPy array for executing the numpy.argsort method. I will use both one-dimensional and two-dimensional array.
One Dimensional Array
array_1d = np.array([10,30,40,20])
Two Dimensional Array
array_2d = np.array([[10,30],[60,50]])
Now the last step is to return the indices for the sorted array for both one dimensional and two-dimensional array.
print(np.argsort(array_1d))
If you are using numpy.argsort() method on 2-D Numpy array then you have to pass the axis argument also. The value of it will be 0 for sorting along down way and for across set it as 1. The default value of the axis is 0.
print(np.argsort(array_2d,axis=0))
print(np.argsort(array_2d, axis=1))
The above code will print out the indices for the sorted array. In order to print out the values of it then you have use square bracket for it. Look at the below code.
print(array_1d[np.argsort(array_1d)])
To print out the values of 2-D or N-Dimensional array you have to use the numpy.unravel_index() method. It will be used for finding the indices of the sorted array. After that, you will use the square bracket to print out the values. Use the following code.
ind = np.unravel_index(np.argsort(array_2d,axis=None),array_2d.shape)
print(array_2d[ind])
That’s all for now. Hope you have enjoyed this tutorial. If you have any queries about it then you can contact us for more information.
Source: