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.