logo

numpy.argsort() Pythonissa

NumPy-moduuli tarjoaa funktion argsort(), palauttaa indeksit, jotka lajittelevat taulukon.

NumPy-moduuli tarjoaa toiminnon epäsuoran lajittelun suorittamiseen annetun akselin mukana avainsanan määrittämän algoritmin avulla. Tämä funktio palauttaa joukon indeksejä, jotka ovat samanmuotoisia kuin 'a', joka lajittelee taulukon.

Syntaksi

 numpy.argsort(a, axis=-1, kind=None, order=None) 

Parametrit

Nämä ovat seuraavat parametrit numpy.argsort()-funktiossa:

java regexissä

a: array_like

Tämä parametri määrittää lähdetaulukon, jonka haluamme lajitella.

akseli: int tai ei mitään (valinnainen)

Tämä parametri määrittää akselin, jota pitkin lajittelu suoritetaan. Oletusarvoisesti akseli on -1. Jos asetamme tämän parametrin arvoksi Ei mitään, käytetään litistettyä taulukkoa.

laji: {'quicksort','mergesort','heapsort','stable'} (valinnainen)

Tämä parametri määrittää lajittelualgoritmin. Oletuksena algoritmi on pikalajittelu . Molemmat Yhdistä lajittelu ja vakaa käyttävät aikalajittelua peiton alla. Todellinen toteutus vaihtelee tietotyypin mukaan. The Yhdistä lajittelu vaihtoehto säilytetään taaksepäin yhteensopivuuden vuoksi.

kuinka ladata youtube-videoita vlc

järjestys: str tai str-luettelo (valinnainen)

Jos 'a' on taulukko, jossa on määritettyjä kenttiä, tämä argumentti määrittää, mitä kenttiä verrataan ensin, toiseksi jne. Yksittäinen kenttä voidaan määrittää merkkijonona, eikä kaikkia kenttiä tarvitse määrittää. Mutta määrittämättömät kentät käyttävät edelleen dtypessä olevien sääntöjen katkaisemiseen.

Palauttaa: index_array: ndarray, int

Tämä funktio palauttaa joukon indeksejä, jotka lajittelevat 'a' määritetyn akselin mukaan. Jos 'a' on 1-D, a[index_array] tuottaa järjestetyn 'a':n. Yleisemmin, np.take_along_axis(arr1, index_array, axis=axis) antaa aina lajitellun 'a', riippumatta ulottuvuudesta.

Esimerkki 1: np.argsort()

 import numpy as np a=np.array([456,11,63]) a b=np.argsort(a) b 

Yllä olevassa koodissa

  • Olemme tuoneet numpyn aliasnimellä np.
  • Olemme luoneet taulukon 'a' käyttämällä np.array()-funktiota.
  • Olemme ilmoittaneet muuttujan 'b' ja määrittäneet funktion np.argsort() palautetun arvon.
  • Olemme ohittaneet taulukon 'a' funktiossa.
  • Lopuksi yritimme tulostaa b:n arvon.

Tulosteessa on esitetty ndarray, joka sisältää indeksit (osoita elementin sijainnin lajiteltua taulukkoa varten) ja dtype.

Lähtö:

 array([456, 11, 63]) array([1, 2, 0], dtype=int64) 

Esimerkki 2: 2D-taulukolle (lajittelee ensimmäistä akselia pitkin (alas))

 import numpy as np a = np.array([[0, 5], [3, 2]]) indices = np.argsort(a, axis=0) indices 

Lähtö:

miksi merkkijono muuttumaton javassa
 array([[0, 1], [1, 0]], dtype=int64) 

Esimerkki 3: 2D-taulukolle (akselin vaihtoehto = 0)

 import numpy as np a = np.array([[0, 5], [3, 2]]) indices = np.argsort(a, axis=0) indices np.take_along_axis(a, indices, axis=0) 

Yllä olevassa koodissa

  • Olemme tuoneet numpyn aliasnimellä np.
  • Olemme luoneet 2-D-taulukon 'a' käyttämällä np.array()-funktiota.
  • Olemme ilmoittaneet muuttujaindeksit ja määrittäneet palautetun arvon np.argsort()-funktiolle.
  • Olemme ohittaneet 2-D-taulukon 'a' ja akselin 0:na.
  • Seuraavaksi käytimme take_along_axis()-funktiota ja välitimme lähdetaulukon, indeksit ja akselin.
  • Tämä funktio on palauttanut lajitellun 2-D-taulukon.

Tulosteessa on esitetty 2-D-taulukko, jossa on lajitellut elementit.

Lähtö:

 array([[0, 2], [3, 5]]) 

Esimerkki 4: 2-D-taulukko (lajittelee viimeistä akselia pitkin (poikki))

 import numpy as np a = np.array([[0, 5], [3, 2]]) indices = np.argsort(a, axis=1) indices 

Lähtö:

 array([[0, 1], [1, 0]], dtype=int64) 

Esimerkki 5: 2-D-taulukolle (akselin vaihtoehto = 1)

 import numpy as np a = np.array([[0, 5], [3, 2]]) indices = np.argsort(a, axis=1) indices np.take_along_axis(a, indices, axis=1) 

Lähtö:

 array([[0, 2], [3, 5]]) 

Esimerkki 6: N-D-taulukko

 import numpy as np a = np.array([[0, 5], [3, 2]]) indices = np.unravel_index(np.argsort(a, axis=None), a.shape) indices a[indices] # same as np.sort(a, axis=None) 

Lähtö:

javascript onclick
 (array([0, 1, 1, 0], dtype=int64), array([0, 1, 0, 1], dtype=int64)) array([0, 2, 3, 5]) 

Yllä olevassa koodissa

  • Olemme tuoneet numpyn aliasnimellä np.
  • Olemme luoneet 2-D-taulukon 'a' käyttämällä np.array()-funktiota.
  • Olemme ilmoittaneet muuttujan 'indexes' ja määrittäneet funktion np.unravel_index() palautetun arvon.
  • Olemme läpäisseet np.argsort()-funktion ja taulukon 'a' muodon.
  • Olemme läpäisseet 2-D-taulukon 'a' ja akselin ykköseksi argsort()-funktiossa.
  • Seuraavaksi yritimme tulostaa indeksien ja a[indeksien] arvon.

Tulosteessa on esitetty N-D-taulukko, jossa on lajitellut elementit.

Esimerkki 7: Lajittelu avaimilla

 import numpy as np a= np.array([(0, 5), (3, 2)], dtype=[(&apos;x&apos;, &apos; <i4'), ('y', ' <i4')]) a b="np.argsort(a," order="(&apos;x&apos;,&apos;y&apos;))" c="np.argsort(a," < pre> <p> <strong>Output:</strong> </p> <pre> array([(0, 5), (3, 2)], dtype=[(&apos;x&apos;, &apos; <i4'), ('y', ' <i4')]) array([0, 1], dtype="int64)" array([1, 0], < pre> <p> <strong>In the above code</strong> </p> <ul> <li>We have imported numpy with alias name np.</li> <li>We have created a 2-D array &apos;a&apos; using np.array() function with dtype=[(&apos;x&apos;, &apos; <i4'), ('y', ' <i4')].< li> <li>We have declared the variables &apos;b&apos; and &apos;c&apos; and assigned the returned value of np.argsort() function.</li> <li>We have passed the array &apos;a&apos; and order as an argument in the function.</li> <li>Lastly, we tried to print the value of &apos;b&apos; and &apos;c&apos;.</li> </i4'),></li></ul> <p>In the output, a sorted array has been shown with dtype=[(&apos;x&apos;, &apos; <i4'), ('y', ' <i4')]< p> <hr></i4'),></p></i4'),></pre></i4'),>