numpy.argsort() Die Funktion wird verwendet, um eine indirekte Sortierung entlang der angegebenen Achse unter Verwendung des durch das Schlüsselwort kind angegebenen Algorithmus durchzuführen. Es gibt ein Array von Indizes mit der gleichen Form wie arr zurück, das das Array sortieren würde. Damit sind Wertindizes gemeint, die in aufsteigender Reihenfolge angeordnet sind
Syntax : numpy.argsort(arr, axis=-1, kind=’quicksort’, order=None)
Parameter:
arr: [array_like] Eingabearray. axis: [int oder None] Achse, entlang der sortiert werden soll. Bei „Keine“ wird das Array vor dem Sortieren reduziert. Der Standardwert ist -1, wodurch entlang der letzten Achse sortiert wird. Art: ['quicksort', 'mergesort', 'heapsort']Auswahlalgorithmus. Der Standardwert ist „Quicksort“. order: [str oder list of str] Wenn arr ein Array mit definierten Feldern ist, gibt dieses Argument an, welche Felder zuerst, zweitens usw. verglichen werden sollen.
Zurückkehren: [index_array, ndarray] Array von Indizes, die arr entlang der angegebenen Achse sortieren. Wenn arr eindimensional ist, gibt arr[index_array] ein sortiertes arr zurück.
Code Nr. 1:
Python3
c Zufallszahl
Websites wie coomeet
# 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])> |
>
>Ausgabe:
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]>
Code Nr. 2:
Python3
Inselbuchstabe Java
# 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)> |
>
>Ausgabe:
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]]>
Code Nr. 3:
Python
Auswahl sortieren
# 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>]]> |
>
>
Ausgabe:
array([2, 5, 0, 1, 4, 6, 3], dtype=int32) array([6, 3], dtype=int32) array([3, 6], dtype=int32) array([100, 68])>