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.