La función numpy.argsort() se usa para realizar una ordenación indirecta a lo largo del eje dado usando el algoritmo especificado por la palabra clave kind. Devuelve una array de índices de la misma forma que arr que ordenaría la array.
Sintaxis: numpy.argsort(arr, axis=-1, kind=’quicksort’, order=None) Parámetros: arr: [array_like] Array de entrada. axis : [int o None] Eje a lo largo del cual ordenar. Si es Ninguno, la array se aplana antes de ordenar. El valor predeterminado es -1, que ordena a lo largo del último eje. kind : [‘quicksort’, ‘mergesort’, ‘heapsort’]Algoritmo de selección. El valor predeterminado es ‘ordenación rápida’. order: [str o lista de str] Cuando arr es una array con campos definidos, este argumento especifica qué campos comparar primero, segundo, etc. Retorno: [index_array, ndarray] Array de índices que ordenan arr a lo largo del eje especificado. arr es unidimensional, entonces arr[index_array] devuelve una array ordenada.
Código #1:
Python3
# Python program explaining # argpartition() function import numpy as geek # input array in_arr = geek.array([ 2, 0, 1, 5, 4, 1, 9]) print ("Input unsorted array : ", in_arr) out_arr = geek.argsort(in_arr) print ("Output sorted array indices : ", out_arr) print("Output sorted array : ", in_arr[out_arr])
Input unsorted array : [2 0 1 5 4 1 9] Output sorted array indices : [1 2 5 0 4 3 6] Output sorted array : [0 1 1 2 4 5 9]
Código #2:
Python3
# Python program explaining # argpartition() function import numpy as geek # input 2d array in_arr = geek.array([[ 2, 0, 1], [ 5, 4, 3]]) print ("Input array : ", in_arr) # output sorted array indices out_arr1 = geek.argsort(in_arr, kind ='mergesort', axis = 0) print ("Output sorteded array indices along axis 0: ", out_arr1) out_arr2 = geek.argsort(in_arr, kind ='heapsort', axis = 1) print ("Output sorteded array indices along axis 1: ", out_arr2)
Input array : [[2 0 1] [5 4 3]] Output sorteded array indices along axis 0: [[0 0 0] [1 1 1]] Output sorteded array indices along axis 1: [[1 2 0] [2 1 0]]
Publicación traducida automáticamente
Artículo escrito por jana_sayantan y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA