Numpy np.Argsort

Numpy np.Argsort
La funzione Argsort () in Numpy consente di eseguire un smistamento indiretto di un array lungo un asse specificato usando l'algoritmo set.

Esploriamo come lavorare con la funzione numpy argsort ().

Sintassi della funzione Numpy Argsort ()

La sintassi e i parametri della funzione sono come mostrati da segue:

numpy.argsort (a, axis =- 1, kind = nessuno, ordine = nessuno)

Parametri
I parametri sono definiti in base alle loro seguenti funzioni:

  1. A - si riferisce all'array di input.
  2. Asse - Specifica lungo quale asse per ordinare l'array di ingresso. Il valore è impostato su -1, che utilizza l'ultimo indice. Imposta il parametro dell'asse su nessuno se si desidera appiattire l'array.
  3. Kind - Specifica l'algoritmo di smistamento. I valori accettabili includono "QuickSort", "Mergesort", "Heapsort" e "Stable". Per impostazione predefinita, la funzione utilizzerà un algoritmo di ordinamento QuickSort.
  4. Ordine: definisce l'ordine in base al quale confrontare i campi.

Valore di ritorno della funzione
La funzione restituisce un array di indici dell'array ordinato in base ai parametri impostati.

Esempio 1 - ordinamento dell'array appiattito

L'esempio seguente mostra come appiattire e ordinare l'array specificando il parametro dell'asse come "nessuno".

# Importa Numpy
Importa Numpy come NP
ARR = [0,1,5,3,9,6,7,4,2,8]
Print ("Array senza corti:", arr)
print (f "Array ordinato: np.argsort (arr, axis = nessuno) ")

Il codice precedente restituisce un array con gli indici dell'array ordinato. Un output di esempio è come mostrato di seguito:

Array Unsorted: [0, 1, 5, 3, 9, 6, 7, 4, 2, 8]
Array ordinato: [0 1 8 3 7 2 5 6 9 4]

Esempio 2 - Ordine dell'array appiattito (algoritmi diversi)

Considera l'esempio seguente che mostra come ordinare un array appiattito usando vari algoritmi di smistamento:

ARR = [0,1,5,3,9,6,7,4,2,8]
Quick_sort = np.argsort (arr, axis = nessuno, kind = 'QuickSort')
Merge_sort = np.Argsort (arr, axis = nessuno, kind = 'mergesort')
heap_sort = np.argsort (arr, axis = nessuno, kind = 'heapsort')
stabile = np.argsort (arr, axis = nessuno, kind = 'heapsort')
print (f "QuickSort: Quick_Sort \ n Mergesort: Merge_Sort \ n heapsort: heap_sort \ n stable: stable")

Il codice precedente utilizza vari algoritmi di ordinamento e restituisce gli indici dell'array risultanti.

Quello che segue è un esempio di output:

QuickSort: [0 1 8 3 7 2 5 6 9 4]
Mergesort: [0 1 8 3 7 2 5 6 9 4]
Heapsort: [0 1 8 3 7 2 5 6 9 4]
Stabile: [0 1 8 3 7 2 5 6 9 4]

Esempio 3 - Ordina array 2D lungo vari asse

Diamo un'occhiata a un esempio nell'ordinamento di un array 2D lungo i vari asse.

print (f "asse 0: np.argsort (arr, axis = 0) ")

L'array di ritorno è il seguente:

Asse 0: [[1 1 1]
[0 0 0]]

Per ordinare lungo l'asse 1, applica il seguente codice:

print (f "asse 1: np.argsort (arr, axis = 1) ")

Questo dovrebbe tornare a:

Asse 1: [[2 1 0]
[2 1 0]]

Conclusione

Questo articolo funge da guida su come utilizzare la funzione Argsort () in Numpy per ordinare un array lungo un asse specifico usando vari algoritmi. Altri tutorial sono disponibili su Linux Sint.