NumPy Array Lajittelu | Kuinka lajitella NumPy Array

Taulukon lajittelu on erittäin tärkeä vaihe data-analyysissä, koska se auttaa tietojen järjestämisessä ja helpottaa etsimistä ja puhdistamista.

Tässä opetusohjelmassa opimme kuinka lajitella taulukko NumPyssä . Voit lajitella taulukon NumPyssä:

  • Käyttämällä np.sort()-funktiota
    • rivissä lajittelu
    • lajittelu eri akseleita pitkin
  • Käyttämällä np.argsort()-funktiota
  • np.lexsort()-funktion käyttäminen

Käytä sort()-funktiota

sort()-menetelmä lajittelee tietyn tietorakenteen elementin (tässä array). Kutsu lajittelufunktiota taulukkoobjektilla elementtien lajittelemiseksi.

On olemassa kaksi lajittelutapausta sort()-menetelmällä:

  • Lajittele NumPy-taulukko paikoilleen
  • Lajittele NumPy-taulukko akseleita pitkin

Käsittelemme molemmat menetelmät alla olevan esimerkin avulla:

Lajittele taulukko paikan päällä

Matriisin lajittelu paikoilleen tarkoittaa alkuperäisten taulukon elementtien lajittelua suoraan.

Se ei luo uutta ryhmäkopiota ja on erittäin muistitehokas.

Esimerkki

Sort()-menetelmän käyttäminen NumPy-taulukon elementtien lajittelemiseen paikoilleen.

Python 3




# 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)>

Lähtö:

Array before sorting [12 15 10 1] Array after sorting [ 1 10 12 15] 

Lajittele taulukko eri akseleita pitkin

Tämä menetelmä luo lajitellun kopion annetusta NumPy-taulukosta.

Sitä käytetään useimmiten moniulotteisessa taulukossa, kun haluat lajitella tietyn ulottuvuuden mukaan.

Esimerkki

Sort()-menetelmän käyttäminen NumPy-taulukon elementteihin akselia pitkin

Python 3




# 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)>

Lähtö:

Along first axis : [[10 1] [12 15]]Along first axis : [[10 15] [ 1 12]]Along none axis : [ 1 10 12 15] 

Argsort()

argssort() -menetelmä on epäsuora tapa lajitella NumPy-taulukko tiettyä akselia pitkin.

Se palauttaa an joukko indeksejä joka lajittelisi alkuperäisen taulukon nousevaan järjestykseen.

Esimerkki

Argsort()-funktion käyttäminen NumPy-taulukon elementtien lajitteluun

Python 3




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)>

Lähtö:

Original array:  [9 3 1 7 4 3 6] Sorted indices of original array->[2 1 5 4 6 3 0] Lajiteltu array-> [1 3 3 4 6 7 9] 

Näppäinsarjan käyttäminen

Kun lajittelemme taulukon avainsarjan avulla, voimme lajitella taulukon useiden kriteerien perusteella.

Voit käyttää tätä menetelmää np.lexsort()-funktion kanssa. Lexsort()-funktio palauttaa joukon indeksejä, jotka lajittelevat alkuperäisen taulukon.

Esimerkki

Hanki vakaa lajittelu käyttämällä näppäinsarjaa.

Python 3




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)>

Lähtö:

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] 

Tarkista myös: Lajittelu, haku ja laskenta NumPyssä

Johtopäätös

NumPy-taulukon lajittelu helpottaa päällekkäisten, maksimi- ja vähimmäiselementtien löytämistä. Se on olennainen tietojenkäsittelytoiminto, mikä helpottaa tietojen käsittelyä.

Tässä opetusohjelmassa olemme käsitelleet kolme menetelmää taulukon lajitteluun NumPyssä eli sort(), argsort() ja lexsort(). Kaikki nämä menetelmät tarjoavat erilaisia ​​toimintoja ndarray-lajitteluun NumPyssä. Olemme selittäneet menetelmät yksinkertaisin sanoin esimerkein, jotta saat täydellisen käsityksen aiheesta.