En este artículo, aprenderemos cómo ordenar una array Numpy. Hay varias formas en Numpy para ordenar una array, según el requisito. Tratemos de entenderlos con la ayuda de ejemplos.
Ejemplo #1: Simplemente ordene la array dada según el eje usando el método sort().
# importing libraries import numpy as np # sort along the first axis a = np.array([[12, 15], [10, 1]]) arr1 = np.sort(a, axis = 0) print ("Along first axis : \n", arr1) # sort along the last axis a = np.array([[10, 15], [12, 1]]) arr2 = np.sort(a, axis = -1) print ("\nAlong first axis : \n", arr2) a = np.array([[12, 15], [10, 1]]) arr1 = np.sort(a, axis = None) print ("\nAlong none axis : \n", arr1)
Producción:
Along first axis : [[10 1] [12 15]] Along first axis : [[10 15] [ 1 12]] Along none axis : [ 1 10 12 15]
Ejemplo #2: Obtenga los índices que pueden devolver una array ordenada usando el método argsort()
# Python code to demonstrate # working of numpy.argsort import numpy as np # Numpy array created a = np.array([9, 3, 1, 7, 4, 3, 6]) # unsorted array print print('Original array:\n', a) # Sort array indices b = np.argsort(a) print('Sorted indices of original array->', b) # To get sorted array using sorted indices # c is temp array created of same len as of b c = np.zeros(len(b), dtype = int) for i in range(0, len(b)): c[i]= a[b[i]] print('Sorted array->', c)
Producción:
Original array: [9 3 1 7 4 3 6] Sorted indices of original array-> [2 1 5 4 6 3 0] Sorted array-> [1 3 3 4 6 7 9]
Ejemplo n.º 3: obtenga una ordenación estable mediante una secuencia de teclas.
import numpy as np # Numpy array created # First column a = np.array([9, 3, 1, 3, 4, 3, 6]) # Second column b = np.array([4, 6, 9, 2, 1, 8, 7]) print('column a, column b') for (i, j) in zip(a, b): print(i, ' ', j) # Sort by a then by b ind = np.lexsort((b, a)) print('Sorted indices->', ind)
Producción:
column a, column b 9 4 3 6 1 9 3 2 4 1 3 8 6 7 Sorted indices-> [2 3 1 5 4 6 0]