According to the documentation
Returns the indices that would sort an array.
2is the index of0.0.3is the index of0.1.1is the index of1.41.0is the index of1.48.
NumPy
numpy.org › doc › stable › reference › generated › numpy.argsort.html
numpy.argsort — NumPy v2.5 Manual
Apply index_array from argsort to an array as if by calling sort.
01:00
NumPy Argsort vs Sort | Python | #shorts - YouTube
np.sort and argsort: Sorting Elements in a NumPy 2D Array
05:23
NumPy Argsort vs Sort - YouTube
12:23
Sort Numpy Arrays by Row and Column with numpy.argsort - YouTube
12:23
Python One-Liners | Data Science 6 | NumPy Argsort - YouTube
02:28
Python NumPy | Sort - YouTube
NumPy
numpy.org › devdocs › reference › generated › numpy.argsort.html
numpy.argsort — NumPy v2.6.dev0 Manual
Apply index_array from argsort to an array as if by calling sort.
Top answer 1 of 10
175
According to the documentation
Returns the indices that would sort an array.
2is the index of0.0.3is the index of0.1.1is the index of1.41.0is the index of1.48.
2 of 10
51
[2, 3, 1, 0] indicates that the smallest element is at index 2, the next smallest at index 3, then index 1, then index 0.
There are a number of ways to get the result you are looking for:
import numpy as np
import scipy.stats as stats
def using_indexed_assignment(x):
"https://stackoverflow.com/a/5284703/190597 (Sven Marnach)"
result = np.empty(len(x), dtype=int)
temp = x.argsort()
result[temp] = np.arange(len(x))
return result
def using_rankdata(x):
return stats.rankdata(x)-1
def using_argsort_twice(x):
"https://stackoverflow.com/a/6266510/190597 (k.rooijers)"
return np.argsort(np.argsort(x))
def using_digitize(x):
unique_vals, index = np.unique(x, return_inverse=True)
return np.digitize(x, bins=unique_vals) - 1
For example,
In [72]: x = np.array([1.48,1.41,0.0,0.1])
In [73]: using_indexed_assignment(x)
Out[73]: array([3, 2, 0, 1])
This checks that they all produce the same result:
x = np.random.random(10**5)
expected = using_indexed_assignment(x)
for func in (using_argsort_twice, using_digitize, using_rankdata):
assert np.allclose(expected, func(x))
These IPython %timeit benchmarks suggests for large arrays using_indexed_assignment is the fastest:
In [50]: x = np.random.random(10**5)
In [66]: %timeit using_indexed_assignment(x)
100 loops, best of 3: 9.32 ms per loop
In [70]: %timeit using_rankdata(x)
100 loops, best of 3: 10.6 ms per loop
In [56]: %timeit using_argsort_twice(x)
100 loops, best of 3: 16.2 ms per loop
In [59]: %timeit using_digitize(x)
10 loops, best of 3: 27 ms per loop
For small arrays, using_argsort_twice may be faster:
In [78]: x = np.random.random(10**2)
In [81]: %timeit using_argsort_twice(x)
100000 loops, best of 3: 3.45 µs per loop
In [79]: %timeit using_indexed_assignment(x)
100000 loops, best of 3: 4.78 µs per loop
In [80]: %timeit using_rankdata(x)
100000 loops, best of 3: 19 µs per loop
In [82]: %timeit using_digitize(x)
10000 loops, best of 3: 26.2 µs per loop
Note also that stats.rankdata gives you more control over how to handle elements of equal value.
Programiz
programiz.com › python-programming › numpy › methods › argsort
NumPy argsort()
The argsort() method in NumPy sorts the array elements in ascending order and returns indices of the sorted elements. The argsort() method in NumPy sorts the array elements in ascending order and returns indices of the sorted elements.
NumPy
numpy.org › doc › 2.3 › reference › generated › numpy.argsort.html
numpy.argsort — NumPy v2.3 Manual
Apply index_array from argsort to an array as if by calling sort.
NumPy
numpy.org › doc › 2.2 › reference › generated › numpy.argsort.html
numpy.argsort — NumPy v2.2 Manual
Apply index_array from argsort to an array as if by calling sort.
NumPy
numpy.org › doc › 2.1 › reference › generated › numpy.argsort.html
numpy.argsort — NumPy v2.1 Manual
Apply index_array from argsort to an array as if by calling sort.
Call: +917738666252
Address: Unit no. 202, Jay Antariksh Bldg, Makwana Road, Marol, Andheri (East),, 400059, Mumbai
Javatpoint
javatpoint.com › numpy-argsort
numpy.argsort() in Python - Javatpoint
Syntax numpy.loadtxt(fname, dtype=<type... ... We provides tutorials and interview questions of all technology like java tutorial, android, java frameworks ... Java Data Structures C Programming C++ Tutorial C# Tutorial PHP Tutorial HTML Tutorial JavaScript Tutorial jQuery Tutorial Spring Tutorial · Tcs Intuit Wipro Adobe Infosys Amazon Accenture Cognizant Capgemini Microsoft · C R C++ Php Java Html Swift Python JavaScript TypeScript
NumPy
numpy.org › doc › 1.25 › reference › generated › numpy.argsort.html
numpy.argsort — NumPy v1.25 Manual
Apply index_array from argsort to an array as if by calling sort.
NumPy
numpy.org › doc › 2.0 › reference › generated › numpy.argsort.html
numpy.argsort — NumPy v2.0 Manual
Apply index_array from argsort to an array as if by calling sort.
Educative
educative.io › answers › what-is-argsort-in-numpy
What is argsort() in NumPy?
In Python, the NumPy library has a function called argsort(), which computes the indirect sorting of an array.
Omz Software
omz-software.com › pythonista › numpy › reference › generated › numpy.argsort.html
numpy.argsort — NumPy v1.8 Manual
As of NumPy 1.4.0 argsort works with real/complex arrays containing nan values. The enhanced sort order is documented in sort. ... >>> x = np.array([(1, 0), (0, 1)], dtype=[('x', '<i4'), ('y', '<i4')]) >>> x array([(1, 0), (0, 1)], dtype=[('x', '<i4'), ('y', '<i4')]) ... © Copyright 2008-2009, The Scipy community. The Python Software Foundation is a non-profit corporation.
TutorialsPoint
tutorialspoint.com › numpy › numpy_argsort_function.htm
Numpy argsort() Function
The numpy.argsort() function returns an array of indices of the same shape as a that index data along the given axis in sorted order.
GeeksforGeeks
geeksforgeeks.org › numpy › how-to-use-numpy-argsort-in-descending-order-in-python
How to use numpy.argsort in Descending order in Python - GeeksforGeeks
July 23, 2025 - The numpy.argsort() function is used to conduct an indirect sort along the provided axis using the kind keyword-specified algorithm. It returns an array of indices of the same shape as arr, which would be used to sort the array.
NumPy
numpy.org › doc › 2.2 › reference › generated › numpy.ma.argsort.html
numpy.ma.argsort — NumPy v2.2 Manual
ma.argsort(a, axis=<no value>, kind=None, order=None, endwith=True, fill_value=None, *, stable=None)[source]#