numpy.argsort() funktionen bruges til at udføre en indirekte sortering langs den givne akse ved hjælp af den algoritme, der er specificeret af søgeordet kind. Det returnerer et array af indekser af samme form som arr, der ville sortere arrayet. Det betyder værdiindekser arrangeret i stigende rækkefølge
Syntaks: numpy.argsort(arr, axis=-1, kind='quicksort', order=None)
Parametre:
arr : [array_like] Input-array. akse : [int eller ingen] Akse, som skal sorteres langs. Hvis ingen, bliver arrayet fladt ud før sortering. Standarden er -1, som sorterer langs den sidste akse. slags : ['quicksort', 'mergesort', 'heapsort']Udvælgelsesalgoritme. Standard er 'quicksort'. rækkefølge : [str eller liste over str] Når arr er en matrix med felter defineret, specificerer dette argument, hvilke felter der skal sammenlignes først, andet osv.
Vend tilbage: [index_array, ndarray] Array af indekser, der sorterer arr langs den angivne akse. Hvis arr er endimensionel, returnerer arr[index_array] en sorteret arr.
Kode #1:
Python3
sql vælg fra flere tabeller
# 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])> |
>
>Produktion:
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]>
Kode #2:
Python3
heltal til streng
# 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 sorted 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)> |
>
>Produktion:
fordelingsret boolesk algebra
Input array : [[2 0 1] [5 4 3]] Output sorted array indices along axis 0: [[0 0 0] [1 1 1]] Output sorted array indices along axis 1: [[1 2 0] [2 1 0]]>
Kode #3:
Python
# get two largest value from numpy array> x>=>np.array([>12>,>43>,>2>,>100>,>54>,>5>,>68>])> # using argsort get indices of value of arranged in ascending order> np.argsort(x)> #get two highest value index of array> np.argsort(x)[>->2>:]> # to arrange in ascending order of index> np.argsort(x)[>->2>:][::>->1>]> # to get highest 2 values from array> x[np.argsort(x)[>->2>:][::>->1>]]> |
>
indeks over listen
>
Produktion:
array([2, 5, 0, 1, 4, 6, 3], dtype=int32) array([6, 3], dtype=int32) array([3, 6], dtype=int32) array([100, 68])>