NumPy masyvo rūšiavimas | Kaip rūšiuoti „NumPy Array“.
Masyvo rūšiavimas yra labai svarbus duomenų analizės žingsnis, nes jis padeda rūšiuoti duomenis ir palengvina paiešką bei valymą.
Šioje pamokoje mes išmoksime kaip rūšiuoti masyvą NumPy . NumPy galite rūšiuoti masyvą:
- Naudojant np.sort() funkciją
- rūšiavimas eilutėje
- rūšiavimas pagal skirtingas ašis
- Naudojant np.argsort() funkciją
- Naudojant np.lexsort() funkciją
Naudojant funkciją sort().
Sort() metodas rūšiuoja tam tikros duomenų struktūros elementą (čia masyvas). Norėdami surūšiuoti elementus, iškvieskite rūšiavimo funkciją su masyvo objektu.
Yra du masyvo rūšiavimo atvejai naudojant sort() metodą:
- Rūšiuoti NumPy masyvą vietoje
- Rūšiuoti NumPy masyvą pagal ašis
Abu šiuos metodus apžvelgsime toliau pateiktu pavyzdžiu:
Rūšiuoti masyvą vietoje
Masyvo rūšiavimas vietoje reiškia tiesioginį pradinių masyvo elementų rūšiavimą.
Tai nesukuria naujos masyvo kopijos ir labai taupo atmintį.
Pavyzdys
Naudojant metodą sort() rūšiuoti NumPy masyvo elementus į vietą.
Python3
# importing libraries> import> numpy as np> > a> => np.array([> 12> ,> 15> ,> 10> ,> 1> ])> print> (> 'Array before sorting'> ,a)> a.sort()> print> (> 'Array after sorting'> ,a)> |
Išvestis:
Array before sorting [12 15 10 1] Array after sorting [ 1 10 12 15]
Rūšiuoti masyvą pagal skirtingas ašis
Šis metodas sukuria surūšiuotą nurodyto NumPy masyvo kopiją.
Jis dažniausiai naudojamas kelių dimensijų masyve, kai norite rūšiuoti pagal tam tikrą matmenį.
Pavyzdys
Sort() metodo naudojimas NumPy masyvo elementams išilgai ašies
Python3
# importing libraries> import> numpy as np> # sort along the first axis> a> => np.array([[> 12> ,> 15> ], [> 10> ,> 1> ]])> arr1> => np.sort(a, axis> => 0> )> print> (> 'Along first axis :
'> , arr1)> # sort along the last axis> a> => np.array([[> 10> ,> 15> ], [> 12> ,> 1> ]])> arr2> => np.sort(a, axis> => -> 1> )> print> (> '
Along first axis :
'> , arr2)> a> => np.array([[> 12> ,> 15> ], [> 10> ,> 1> ]])> arr1> => np.sort(a, axis> => None> )> print> (> '
Along none axis :
'> , arr1)> |
Išvestis:
Along first axis : [[10 1] [12 15]]Along first axis : [[10 15] [ 1 12]]Along none axis : [ 1 10 12 15]
Naudojant argsort()
argsort() metodas yra netiesioginis NumPy masyvo rūšiavimo išilgai tam tikros ašies būdas.
Tai grąžina an indeksų masyvas kuris surūšiuotų pradinį masyvą didėjančia tvarka.
Pavyzdys
Argsort() naudojimas elementams rūšiuoti NumPy masyve
Python3
import> numpy as np> > # Numpy array created> a> => np.array([> 9> ,> 3> ,> 1> ,> 7> ,> 4> ,> 3> ,> 6> ])> > # unsorted array print> print> (> 'Original array:
'> , a)> > # Sort array indices> b> => np.argsort(a)> print> (> 'Sorted indices of original array->'> , b)> > # To get sorted array using sorted indices> # c is temp array created of same len as of b> c> => np.zeros(> len> (b), dtype> => int> )> for> i> in> range> (> 0> ,> len> (b)):> > c[i]> => a[b[i]]> print> (> 'Sorted array->'> , c)> |
Išvestis:
Original array: [9 3 1 7 4 3 6] Sorted indices of original array->[2 1 5 4 6 3 0] Surūšiuotas masyvas-> [1 3 3 4 6 7 9]
Klavišų sekos naudojimas
Rūšiuodami masyvą naudodami raktų seką, galime rūšiuoti masyvą pagal kelis kriterijus.
Šį metodą galite naudoti su funkcija np.lexsort(). Funkcija lexsort() grąžina indeksų masyvą, kuris surūšiuotų pradinį masyvą.
Pavyzdys
Gaukite stabilų rūšiavimą naudodami klavišų seką.
Python3
import> numpy as np> > # Numpy array created> # First column> a> => np.array([> 9> ,> 3> ,> 1> ,> 3> ,> 4> ,> 3> ,> 6> ])> > # Second column> b> => np.array([> 4> ,> 6> ,> 9> ,> 2> ,> 1> ,> 8> ,> 7> ])> print> (> 'column a, column b'> )> for> (i, j)> in> zip> (a, b):> > print> (i,> ' '> , j)> > # Sort by a then by b> ind> => np.lexsort((b, a))> print> (> 'Sorted indices->'> , ind)> |
Išvestis:
column a, column b 9 4 3 6 1 9 3 2 4 1 3 8 6 7 Sorted indices->[2 3 1 5 4 6 0]
Taip pat patikrinkite: Rūšiavimas, paieška ir skaičiavimas naudojant „NumPy“.
Išvada
Rūšiuojant NumPy masyvą lengviau rasti pasikartojančius, didžiausius ir mažiausius elementus. Tai esminė manipuliavimo duomenimis operacija, palengvinanti darbą su duomenimis.
Šioje pamokoje apžvelgėme tris būdus, kaip rūšiuoti masyvą programoje NumPy, ty sort(), argsort() ir lexsort(). Visi šie metodai suteikia skirtingas funkcijas, skirtas rūšiuoti „ndarray“ programoje „NumPy“. Mes paaiškinome metodus paprastais žodžiais su pavyzdžiais, kad galėtumėte visiškai suprasti temą.