numpy.argsort() funkcia sa používa na vykonanie nepriameho triedenia pozdĺž danej osi pomocou algoritmu určeného kľúčovým slovom kind. Vráti pole indexov rovnakého tvaru ako arr, ktoré by zoradilo pole. Znamená indexy hodnoty usporiadané vzostupne
Syntax: numpy.argsort(arr, axis=-1, kind=’quicksort’, order=None)
Parametre:
arr : [podobné poli] Vstupné pole. os : [int or None] Os, pozdĺž ktorej sa má zoradiť. Ak nie je, pole sa pred zoradením vyrovná. Predvolená hodnota je -1, ktorá triedi podľa poslednej osi. druh : [‘quicksort’, ‘mergesort’, ‘heapsort’]Algoritmus výberu. Predvolená hodnota je „rýchle triedenie“. poradie : [str alebo zoznam str] Keď arr je pole s definovanými poľami, tento argument určuje, ktoré polia sa majú porovnať prvé, druhé atď.
Návrat: [index_array, ndarray] Pole indexov, ktoré triedia arr pozdĺž zadanej osi. Ak je arr jednorozmerné, potom arr[index_array] vráti zoradené pole arr.
Kód #1:
Python3
jvm v jazyku Java
# 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])> |
>
>Výkon:
porovnanie leva a tigra
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]>
Kód #2:
Python3
testovanie a typy testovania
# 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)> |
>
>Výkon:
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]]>
Kód #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>]]> |
json z java objektu
>
>
Výkon:
array([2, 5, 0, 1, 4, 6, 3], dtype=int32) array([6, 3], dtype=int32) array([3, 6], dtype=int32) array([100, 68])>