Introduction to NumPy and Matplotlib
Chapter 6: NumPy functions
Sorting arrays
You can sort an array using np.sort()
.
>>> x = np.array([3, 1, 2])
>>> sorted_x = np.sort(x)
>>> print(sorted_x)
[1 2 3]
The OOP version x.sort()
is a mutator method that sorts x
in-place, rather than returning a copy like np.sort(x)
.
You can also sort across rows or columns by specifying the axis.
>>> y = np.array([[6, 4], [1, 0], [2, 7]])
>>> print(y)
[[6 4]
[1 0]
[2 7]]
>>> print(np.sort(y, axis=0)) # Sort rows
[[1 0]
[2 4]
[6 7]]
>>> print(np.sort(y, axis=1)) # Sort columns
[[4 6]
[0 1]
[2 7]]
To get the indices after a sort, use np.argsort(x)
(or x.argsort()
).
>>> x = np.array([3, 1, 2])
>>> print(np.argsort(x))
[1 2 0]
>>> y = np.array([[6, 4], [1, 0], [2, 7]])
>>> print(np.argsort(y, axis=0)) # Get indices of rows after sorting
[[1 1]
[2 0]
[0 2]]
>>> print(np.argsort(b, axis=1)) # Get indices of columns after sorting
[[1 0]
[1 0]
[0 1]]