logo

numpy.unique() Pythonissa

Pythonin numpy-moduuli tarjoaa toiminnon ainutlaatuisten elementtien löytämiseen numpy-taulukosta. Numpy.unique()-funktio etsii taulukon ainutlaatuiset elementit ja palauttaa nämä yksilölliset elementit lajiteltuna taulukkona. Ainutlaatuisten elementtien lisäksi on myös joitain valinnaisia ​​lähtöjä, jotka ovat seuraavat:

  • Tulos voi olla syötetaulukon indeksejä, jotka antavat yksilölliset arvot
  • Tulos voi olla yksilöllisen taulukon indeksejä, jotka rekonstruoivat syöttötaulukon
  • Tulos voi olla joukko, joka kertoo, kuinka monta kertaa kukin yksilöllinen arvo tulee syöttötaulukkoon.

Syntaksi

 numpy.unique(a, return_index=False, return_inverse=False, return_counts=False, axis=None) 

Parametrit

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

a: array_like

Tämä parametri määrittää lähdetaulukon, joka sisältää elementtejä, joiden yksilölliset arvot halutaan. Taulukko litistetään, jos se ei ole 1-D-taulukko.

Return_index: bool (valinnainen)

tcp ja ip malli

Jos tämän parametrin arvoksi on asetettu True, funktio palauttaa syötetaulukon indeksit (määritettyä akselia pitkin, jos sellainen on, tai litistetyssä taulukossa), mikä johtaa yksilölliseen matriisiin.

return_inverse: bool (valinnainen)

Jos tämän parametrin arvoksi on asetettu True, funktio palauttaa myös syötetaulukon indeksit (määriteltyä akselia pitkin, jos sellainen on tai litteässä taulukossa), joita voidaan käyttää syöttötaulukon rekonstruoimiseen.

Palautusmäärät: bool (valinnainen)

Jos tämä parametri on asetettu True, funktio palauttaa sen, kuinka monta kertaa kukin yksilöllinen kohde esiintyi syöttötaulukossa 'a'.

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

Tämä parametri määrittää käytettävän akselin. Jos tätä parametria ei ole asetettu, taulukko a tasoitetaan. Jos tämä parametri on kokonaisluku, tietyn akselin indeksoimat alitaulukot tasoitetaan ja niitä käsitellään 1-D-taulukon elementtinä, jolla on tietyn akselin mitta. Strukturoituja taulukoita tai objekteja sisältäviä objektitaulukoita ei tueta, jos käytetään akselia 'kwarg'.

Palauttaa

Tämä funktio palauttaa neljän tyyppisiä tulosteita, jotka ovat seuraavat:

ainutlaatuinen: ndarray

Tässä tulosteessa näytetään ndarray, joka sisältää lajiteltuja yksilöllisiä arvoja.

yksilölliset_indeksit: ndarray (valinnainen)

kielet c

Tässä tulosteessa näytetään ndarray, joka sisältää alkuperäisen taulukon ainutlaatuisten arvojen ensimmäisten esiintymisten indeksit. Tämä tulos annetaan vain, jos return_index on True.

ainutlaatuinen_käänteinen: ndarray (valinnainen)

Tässä tulosteessa näytetään ndarray, joka sisältää indeksit alkuperäisen taulukon rekonstruoimiseksi ainutlaatuisesta taulukosta. Tämä tulos annetaan vain, jos paluu_käänteinen on True.

yksilölliset_määrät: ndarray (valinnainen)

Tässä tulosteessa näytetään ndarray, joka sisältää sen, kuinka monta kertaa kukin yksilöllinen arvo tulee esiin alkuperäisessä taulukossa. Tämä tulos annetaan vain, jos palautusmäärät on True.

harald baldr

Esimerkki 1:

 import numpy as np a=np.unique([1,2,3,4,3,6,2,4]) a 

Lähtö:

 array([1, 2, 3, 4, 6]) 

Yllä olevassa koodissa

  • Olemme tuoneet numpyn aliasnimellä np.
  • Olemme ilmoittaneet muuttujan 'a' ja määrittäneet palautetun arvon funktiolle np.unique().
  • Olemme ohittaneet funktion elementtien määrän.
  • Lopuksi yritimme tulostaa a:n arvon.

Tulosteessa on esitetty ndarray, joka sisältää ainutlaatuisia elementtejä.

Esimerkki 2:

 a=np.array([[1,2,2,3,9],[1,4,3,5,8]]) a b=np.unique(a) b 

Lähtö:

 array([[1, 2, 2, 3, 9], [1, 4, 3, 5, 8]]) array([1, 2, 3, 4, 5, 8, 9]) 

Esimerkki 3:

 import numpy as np a = np.array([[1, 1, 0], [1, 1, 0], [2, 3, 4],[5, 9, 8],[2, 3, 4]]) a b=np.unique(a, axis=0) b 

Lähtö:

 array([[1, 1, 0], [1, 1, 0], [2, 3, 4], [5, 9, 8], [2, 3, 4]]) array([[1, 1, 0], [2, 3, 4], [5, 9, 8]]) 

Yllä olevassa koodissa

  • Olemme tuoneet numpyn aliasnimellä np.
  • Olemme luoneet moniulotteisen taulukon 'a'.
  • Olemme ilmoittaneet muuttujan 'b' ja määrittäneet funktion np.unique() palautetun arvon.
  • Olemme läpäisseet moniulotteisen taulukon 'a' ja akselin funktiossa nollaksi.
  • Lopuksi yritimme tulostaa 'b':n arvon.

Tulosteessa on esitetty ndarray, joka sisältää lähdetaulukon 'a' yksilölliset rivit.

Esimerkki 4:

 import numpy as np a = np.array([[1, 1, 0], [1, 1, 0], [2, 2, 4],[5, 5, 8],[2, 2, 4]]) a b=np.unique(a, axis=1) b 

Lähtö:

 array([[1, 1, 0], [1, 1, 0], [2, 2, 4], [5, 5, 8], [2, 2, 4]]) array([[0, 1], [0, 1], [4, 2], [8, 5], [4, 2]]) 

Huomautus: Kun asetamme akseliksi 1, tämä funktio palauttaa yksilölliset sarakkeet lähdetaulukosta.

Esimerkki 5: Käytä return_index

 import numpy as np a = np.array(['d', 'b', 'b', 'z', 'a']) result, indices=np.unique(a,return_index=True) result indices a[indices] 

Lähtö:

 array(['a', 'b', 'd', 'z'], dtype='|S1') array([4, 1, 0, 3], dtype=int64) array(['a', 'b', 'd', 'z'], dtype='|S1') 

Yllä olevassa koodissa

ero taulukon ja arraylistin välillä
  • Olemme tuoneet numpyn aliasnimellä np.
  • Olemme luoneet taulukon 'a'.
  • Olemme ilmoittaneet muuttujat 'result' ja 'indexes' ja määrittäneet palautetun arvon funktiolle np.unique().
  • Olemme läpäisseet taulukon a ja asettanut return_index arvoon True funktiossa.
  • Lopuksi yritimme tulostaa 'result'-, 'indexes' ja taulukkoelementtien arvon, joka ilmaisee indeksit ('a [indeksit]').

Tulosteessa on esitetty ndarray, joka sisältää alkuperäisen taulukon indeksit, jotka antavat yksilöllisiä arvoja.

Esimerkki 6: Käytä return_inverse

Voimme rekonstruoida syöttötaulukon yksilöllisistä arvoista seuraavalla tavalla:

 import numpy as np a = np.array([1, 2, 6, 4, 5, 3, 2]) result, indices=np.unique(a,return_inverse=True) result indices a[indices] 

Lähtö:

 array([1, 2, 3, 4, 5, 6]) array([0, 1, 5, 3, 4, 2, 1], dtype=int64) array([1, 2, 3, 4, 5, 6, 2])