logo

numpy.unique() u Pythonu

Modul numpy u Pythonu pruža funkciju za pronalaženje jedinstvenih elemenata u nizu numpy. Funkcija numpy.unique() pronalazi jedinstvene elemente niza i vraća te jedinstvene elemente kao sortirani niz. Osim jedinstvenih elemenata, postoje i neki izborni izlazi, koji su sljedeći:

  • Izlaz mogu biti indeksi ulaznog niza koji daju jedinstvene vrijednosti
  • Izlaz mogu biti indeksi jedinstvenog niza koji rekonstruiraju ulazni niz
  • Izlaz može biti polje broja puta kada svaka jedinstvena vrijednost dolazi u ulazno polje.

Sintaksa

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

Parametri

Ovo su sljedeći parametri u funkciji numpy.mean():

a: sličan_nizu

Ovaj parametar definira izvorni niz koji sadrži elemente čije jedinstvene vrijednosti su željene. Niz će biti spljošten ako nije 1-D niz.

Return_index: bool(izborno)

15 od 100,00 kn

Ako je ovaj parametar postavljen na True, funkcija će vratiti indekse ulaznog polja (duž navedene osi ako je navedeno ili u spljoštenom polju), što rezultira jedinstvenim poljem.

return_inverse: bool(opcionalno)

Ako je ovaj parametar postavljen na True, funkcija će također vratiti indekse ulaznog polja (duž navedene osi ako je navedeno ili u spljoštenom polju), koji se mogu koristiti za rekonstrukciju ulaznog polja.

Return_counts: bool(opcionalno)

Ako je ovaj parametar postavljen na True, funkcija će vratiti koliko se puta svaka jedinstvena stavka pojavila u ulaznom polju 'a'.

os: int ili Ništa (izborno)

Ovaj parametar definira os na kojoj se radi. Ako ovaj parametar nije postavljen, tada će polje 'a' biti spljošteno. Ako je ovaj parametar cijeli broj, tada će podnizovi indeksirani danom osi biti spljošteni i tretirani kao element 1-D niza s dimenzijom dane osi. Strukturirani nizovi ili nizovi objekata koji sadrže objekte nisu podržani ako se koristi os 'kwarg'.

Povratak

Ova funkcija vraća četiri vrste izlaza koji su sljedeći:

jedinstveno: ndarray

U ovom izlazu prikazat će se ndarray koji sadrži sortirane jedinstvene vrijednosti.

prolog jezik

jedinstveni_indeksi: ndarray(izborno)

U ovom izlazu prikazat će se ndarray koji sadrži indekse prvih pojavljivanja jedinstvenih vrijednosti u izvornom nizu. Ovaj se izlaz daje samo ako je return_index True.

jedinstveni_obrnuti: ndarray (izborno)

U ovom izlazu bit će prikazan ndarray koji sadrži indekse za rekonstrukciju izvornog niza iz jedinstvenog niza. Ovaj se izlaz daje samo ako je return_inverse True.

jedinstveni_brojevi: ndarray (izborno)

U ovom izlazu prikazat će se ndarray koji sadrži koliko se puta svaka od jedinstvenih vrijednosti pojavljuje u izvornom nizu. Ovaj se izlaz daje samo ako je return_counts True.

obrasci java softvera

Primjer 1:

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

Izlaz:

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

U gornjem kodu

  • Uvezli smo numpy s alias imenom np.
  • Deklarirali smo varijablu 'a' i dodijelili vraćenu vrijednost funkcije np.unique().
  • Prošli smo broj elemenata u funkciji.
  • Na kraju, pokušali smo ispisati vrijednost 'a'.

U izlazu je prikazan ndarray koji sadrži jedinstvene elemente.

Primjer 2:

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

Izlaz:

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

Primjer 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 

Izlaz:

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

U gornjem kodu

  • Uvezli smo numpy s alias imenom np.
  • Stvorili smo višedimenzionalni niz 'a'.
  • Deklarirali smo varijablu 'b' i dodijelili vraćenu vrijednost funkcije np.unique().
  • Proslijedili smo višedimenzionalni niz 'a' i os kao 0 u funkciji.
  • Na kraju, pokušali smo ispisati vrijednost 'b'.

U izlazu je prikazana ndarray koja sadrži jedinstvene retke izvornog polja 'a'.

listnode

Primjer 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 

Izlaz:

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

Napomena: kada os postavimo kao 1, ova funkcija vraća jedinstvene stupce iz izvornog polja.

Primjer 5: Koristite 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] 

Izlaz:

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

U gornjem kodu

  • Uvezli smo numpy s alias imenom np.
  • Stvorili smo niz 'a'.
  • Deklarirali smo varijable 'rezultat' i 'indeksi' i dodijelili vraćenu vrijednost funkcije np.unique().
  • Proslijedili smo niz 'a' i postavili return_index na True u funkciji.
  • Na kraju, pokušali smo ispisati vrijednost 'rezultata', 'indeksa' i elemenata polja, što označava indekse ('a [indeksi]').

U izlazu je prikazan niz ndarray koji sadrži indekse izvornog niza koji daju jedinstvene vrijednosti.

Primjer 6: Koristite return_inverse

Možemo rekonstruirati ulazni niz iz jedinstvenih vrijednosti na sljedeći 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] 

Izlaz:

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