NumPy masīvu šķirošana | Kā kārtot NumPy masīvu
Masīva kārtošana ir ļoti svarīgs datu analīzes solis, jo tas palīdz sakārtot datus un atvieglo meklēšanu un tīrīšanu.
Šajā apmācībā mēs uzzināsim kā kārtot masīvu programmā NumPy . Jūs varat kārtot masīvu programmā NumPy:
- Funkcijas np.sort() izmantošana
- kārtošana rindā
- šķirošana pa dažādām asīm
- Izmantojot funkciju np.argsort().
- Funkcijas np.lexsort() izmantošana
Izmantojot funkciju sort ().
sort() metode sakārto dotās datu struktūras elementu (šeit masīvs). Izsauciet kārtošanas funkciju ar masīva objektu, lai kārtotu elementus.
Ir divi masīva kārtošanas gadījumi ar metodi sort():
- Kārtojiet NumPy masīvu vietā
- Kārtot NumPy masīvu pa asīm
Mēs apskatīsim abas šīs metodes ar piemēru:
Kārtot masīvu vietā
Masīva kārtošana vietā nozīmē tiešu sākotnējo masīva elementu kārtošanu.
Tas nerada jaunu masīva kopiju un ir ļoti efektīva atmiņa.
Piemērs
Izmantojot metodi sort(), lai kārtotu NumPy masīva 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)> |
Izvade:
Array before sorting [12 15 10 1] Array after sorting [ 1 10 12 15]
Kārtojiet masīvu pa dažādām asīm
Šī metode izveido dotā NumPy masīva sakārtotu kopiju.
To galvenokārt izmanto daudzdimensiju masīvā, ja vēlaties kārtot pēc noteiktas dimensijas.
Piemērs
Metodes sort() izmantošana elementiem NumPy masīvā gar asi
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)> |
Izvade:
Along first axis : [[10 1] [12 15]]Along first axis : [[10 15] [ 1 12]]Along none axis : [ 1 10 12 15]
Izmantojot argsort()
argsort() metode ir netiešs veids, kā kārtot NumPy masīvu pa noteiktu asi.
Tas atgriež an indeksu masīvs kas sakārtotu sākotnējo masīvu augošā secībā.
Piemērs
Izmantojot argsort(), lai kārtotu elementus NumPy masīvā
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)> |
Izvade:
Original array: [9 3 1 7 4 3 6] Sorted indices of original array->[2 1 5 4 6 3 0] Sakārtots masīvs-> [1 3 3 4 6 7 9]
Izmantojot taustiņu secību
Masīva kārtošana, izmantojot atslēgu secību, ļauj kārtot masīvu, pamatojoties uz vairākiem kritērijiem.
Šo metodi var izmantot ar funkciju np.lexsort(). Funkcija lexsort() atgriež indeksu masīvu, kas sakārtotu sākotnējo masīvu.
Piemērs
Iegūstiet stabilu kārtošanu, izmantojot taustiņu secību.
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)> |
Izvade:
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]
Pārbaudiet arī: Kārtošana, meklēšana un skaitīšana programmā NumPy
Secinājums
NumPy masīva kārtošana atvieglo dublikātu, maksimālo un minimālo elementu atrašanu. Tā ir būtiska datu manipulācijas darbība, kas atvieglo darbu ar datiem.
Šajā apmācībā mēs esam apskatījuši trīs metodes, kā kārtot masīvu programmā NumPy, t.i., sort (), argsort () un lexsort (). Visas šīs metodes nodrošina dažādas funkcijas, lai kārtotu ndarray programmā NumPy. Mēs esam izskaidrojuši metodes vienkāršos vārdos ar piemēriem, lai sniegtu jums pilnīgu izpratni par tēmu.