logo

numpy.unique() v Pythonu

Modul numpy v Pythonu nudi funkcijo za iskanje edinstvenih elementov v matriki numpy. Funkcija numpy.unique() najde edinstvene elemente matrike in te edinstvene elemente vrne kot razvrščeno matriko. Poleg edinstvenih elementov obstaja tudi nekaj izbirnih izhodov, ki so naslednji:

  • Izhod so lahko indeksi vhodne matrike, ki dajejo edinstvene vrednosti
  • Izhod so lahko indeksi edinstvene matrike, ki rekonstruirajo vhodno matriko
  • Izhod je lahko matrika, kolikokrat vsaka edinstvena vrednost pride v vhodno matriko.

Sintaksa

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

Parametri

To so naslednji parametri v funkciji numpy.mean():

a: array_like

Ta parameter definira izvorno matriko, ki vsebuje elemente, katerih edinstvene vrednosti so želene. Niz bo sploščen, če ni 1-D niz.

Return_index: bool (neobvezno)

pisava iz lateksa

Če je ta parameter nastavljen na True, bo funkcija vrnila indekse vhodne matrike (vzdolž podane osi, če je na voljo, ali v sploščeni matriki), kar ima za posledico edinstveno matriko.

return_inverse: bool (neobvezno)

Če je ta parameter nastavljen na True, bo funkcija vrnila tudi indekse vhodne matrike (vzdolž podane osi, če je na voljo, ali v sploščeni matriki), ki jih je mogoče uporabiti za rekonstrukcijo vhodne matrike.

Return_counts: bool (neobvezno)

Če je ta parameter nastavljen na True, bo funkcija vrnila, kolikokrat se je posamezna edinstvena postavka pojavila v vhodni matriki 'a'.

java pretvori char v int

os: int ali nič (neobvezno)

Ta parameter določa os za delovanje. Če ta parameter ni nastavljen, bo matrika 'a' sploščena. Če je ta parameter celo število, bodo podnizi, indeksirani z dano osjo, sploščeni in obravnavani kot element 1-D niza z dimenzijo dane osi. Strukturirana polja ali polja objektov, ki vsebujejo predmete, niso podprta, če je uporabljena os 'kwarg'.

Vračila

Ta funkcija vrne štiri vrste izhodov, ki so naslednji:

edinstveno: ndarray

V tem izhodu bo prikazana ndarray, ki vsebuje razvrščene edinstvene vrednosti.

edinstveni_indeksi: ndarray (neobvezno)

V tem izhodu bo prikazana ndarray, ki vsebuje indekse prvih pojavitev edinstvenih vrednosti v izvirni matriki. Ta izhod je na voljo samo, če je return_index True.

edinstven_inverz: ndarray (neobvezno)

V tem izhodu bo prikazana ndarray, ki vsebuje indekse za rekonstrukcijo izvirne matrike iz edinstvene matrike. Ta izhod je na voljo samo, če je return_inverse vrednost True.

unique_counts: ndarray (neobvezno)

V tem izhodu bo prikazana ndarray, ki vsebuje, kolikokrat se vsaka od edinstvenih vrednosti pojavi v izvirni matriki. Ta izhod je na voljo le, če je return_counts True.

celo število v niz

Primer 1:

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

Izhod:

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

V zgornji kodi

  • Uvozili smo numpy z vzdevkom np.
  • Razglasili smo spremenljivko 'a' in dodelili vrnjeno vrednost funkcije np.unique().
  • Prenesli smo število elementov v funkciji.
  • Nazadnje smo poskušali natisniti vrednost 'a'.

V izhodu je bila prikazana ndarray, ki vsebuje edinstvene elemente.

Primer 2:

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

Izhod:

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

Primer 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 

Izhod:

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

V zgornji kodi

  • Uvozili smo numpy z vzdevkom np.
  • Ustvarili smo večdimenzionalni niz 'a'.
  • Razglasili smo spremenljivko 'b' in dodelili vrnjeno vrednost funkcije np.unique().
  • V funkciji smo posredovali večdimenzionalni niz 'a' in os kot 0.
  • Nazadnje smo poskušali natisniti vrednost 'b'.

V izhodu je bila prikazana ndarray, ki vsebuje edinstvene vrstice izvorne matrike 'a'.

Primer 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 

Izhod:

naključno število v Javi
 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]]) 

Opomba: Ko os nastavimo na 1, ta funkcija vrne edinstvene stolpce iz izvorne matrike.

Primer 5: Uporabite 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] 

Izhod:

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

V zgornji kodi

  • Uvozili smo numpy z vzdevkom np.
  • Ustvarili smo matriko 'a'.
  • Razglasili smo spremenljivki 'rezultat' in 'indeksi' ter dodelili vrnjeno vrednost funkcije np.unique().
  • Posredovali smo matriko 'a' in v funkciji nastavili return_index na True.
  • Nazadnje smo poskušali natisniti vrednost 'result', 'indices' in elementov polja, ki označuje indekse ('a [indices]').

V izhodu je bila prikazana ndarray, ki vsebuje indekse izvirne matrike, ki dajejo edinstvene vrednosti.

Primer 6: Uporabite return_inverse

Vhodno matriko lahko rekonstruiramo iz edinstvenih vrednosti na naslednji način:

 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] 

Izhod:

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