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)

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)

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.

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

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