Numpy NP.Argsort

Numpy NP.Argsort
ArgSort () -funksjonen i Numpy lar deg utføre en indirekte sortering av en matrise langs en spesifisert akse ved hjelp av SET -algoritmen.

La oss utforske hvordan vi skal jobbe med Numpy Argsort () -funksjonen.

Numpy argsort () funksjonssyntaks

Funksjonssyntaks og parametere er som vist i følgende:

numpy.ArgSort (A, Axis =- 1, Kind = Ingen, Order = Ingen)

Parametere
Parametrene er definert i henhold til følgende funksjoner:

  1. A - refererer til inngangsarrayen.
  2. Axis - spesifiserer under hvilken akse som skal sorterer inngangsarrayen. Verdien er satt til -1, som bruker den siste indeksen. Still inn akseparameteren til ingen hvis du vil flate ut matrisen.
  3. Kind - Angir sorteringsalgoritmen. Akseptable verdier inkluderer 'Quicksort', 'MergeSort', 'Heapsort' og 'Stable'. Som standard vil funksjonen bruke en QuickSort -sorteringsalgoritme.
  4. Bestilling - Definerer rekkefølgen som du vil sammenligne feltene.

Funksjonsretur
Funksjonen returnerer en rekke indekser av den sorterte matrisen i henhold til set -parametrene.

Eksempel 1 - Flatet matrise -sortering

Følgende eksempel viser hvordan du flater ut og sorterer matrisen ved å spesifisere Axis -parameteren som "Ingen".

# Importer numpy
Importer numpy som NP
arr = [0,1,5,3,9,6,7,4,2,8]
trykk ("Usortert matrise:", arr)
Print (F "Sortert Array: NP.argsort (arr, akse = ingen) ")

Den forrige koden returnerer en matrise med indeksene i den sorterte matrisen. Et eksempelutgang er som vist nedenfor:

Usortert matrise: [0, 1, 5, 3, 9, 6, 7, 4, 2, 8]
Sortert matrise: [0 1 8 3 7 2 5 6 9 4]

Eksempel 2 - Flatet array Sort (forskjellige algoritmer)

Tenk på eksemplet nedenfor som viser hvordan du sorterer en flatet matrise ved hjelp av forskjellige sorteringalgoritmer:

arr = [0,1,5,3,9,6,7,4,2,8]
QUICK_SORT = NP.ArgSort (arr, Axis = Ingen, Kind = 'Quicksort')
Merge_sort = np.ArgSort (arr, Axis = Ingen, Kind = 'MergeSort')
heap_sort = np.ArgSort (arr, Axis = Ingen, Kind = 'Heapsort')
Stabil = NP.ArgSort (arr, Axis = Ingen, Kind = 'Heapsort')
print (f "Quicksort: Quick_sort \ n MergeSort: Merge_sort \ n Heapsort: Heap_sort \ n Stabil: Stabil")

Den forrige koden bruker forskjellige sorteringsalgoritmer og returnerer de resulterende matriseindeksene.

Følgende er et utgangseksempel:

Quicksort: [0 1 8 3 7 2 5 6 9 4]
Fusjonsort: [0 1 8 3 7 2 5 6 9 4]
Heapsort: [0 1 8 3 7 2 5 6 9 4]
Stabil: [0 1 8 3 7 2 5 6 9 4]

Eksempel 3 - Sorter 2D -matrise langs forskjellige akse

La oss se på et eksempel på å sortere en 2D -matrise langs den forskjellige aksen.

Print (F "Axis 0: NP.ArgSort (arr, Axis = 0) ")

Returmatrisen er som følger:

Axis 0: [[1 1 1]
[0 0 0]]]

For å sortere langs akse 1, bruk følgende kode:

Print (F "Axis 1: NP.ArgSort (arr, Axis = 1) ")

Dette bør komme tilbake til:

Axis 1: [[2 1 0]
[2 1 0]]

Konklusjon

Denne artikkelen fungerer som en guide for hvordan du bruker ArgSort () -funksjonen i Numpy for å sortere en matrise langs en spesifikk akse ved hjelp av forskjellige algoritmer. Flere opplæringsprogrammer er tilgjengelige på Linux Hint.