logo

numpy.argsort() v Pythonu

numpy.argsort() funkcija se uporablja za izvajanje posrednega razvrščanja vzdolž dane osi z uporabo algoritma, ki ga določa ključna beseda kind. Vrne matriko indeksov enake oblike kot arr, ki bi razvrstila matriko. Pomeni indekse vrednosti, razvrščene v naraščajočem vrstnem redu

Sintaksa: numpy.argsort(arr, axis=-1, kind='quicksort', order=None)



Parametri:

    arr : [array_like] Vhodna matrika. axis : [int ali None] Os, po kateri želite razvrstiti. Če Ni, je matrika pred razvrščanjem sploščena. Privzeta vrednost je -1, ki razvrsti vzdolž zadnje osi. vrsta : ['quicksort', 'mergesort', 'heapsort']Izbirni algoritem. Privzeto je »hitro razvrščanje«. vrstni red : [str ali seznam str] Ko je arr matrika z definiranimi polji, ta argument določa, katera polja naj se primerjajo prva, druga itd.

Vrnitev: [index_array, ndarray] Niz indeksov, ki razvršča arr vzdolž podane osi. Če je arr enodimenzionalen, vrne arr[index_array] razvrščen arr.

Koda #1:



Python3




razdelitev nizov c++



# 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])>

>

cast int v niz java
>

Izhod:

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]>

Koda #2:

Python3




velikost pythona
# 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)>

>

>

Izhod:

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]]>

Koda #3:

Python




prečrtana markdown

# 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>]]>

>

>

Izhod:

array([2, 5, 0, 1, 4, 6, 3], dtype=int32) array([6, 3], dtype=int32) array([3, 6], dtype=int32) array([100, 68])>