logo

numpy.unique() i Python

numpy-modulen til Python gir en funksjon for å finne unike elementer i en numpy-array. Funksjonen numpy.unique() finner de unike elementene i en matrise og returnerer disse unike elementene som en sortert matrise. Bortsett fra de unike elementene, er det også noen valgfrie utganger, som er som følger:

  • Utgangen kan være indeksene til inngangsmatrisen som gir de unike verdiene
  • Utgangen kan være indeksene til den unike matrisen som rekonstruerer inngangsmatrisen
  • Utdataene kan være en matrise med antall ganger hver unike verdi kommer i inngangsmatrisen.

Syntaks

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

Parametere

Dette er følgende parametere i numpy.mean()-funksjonen:

a: array_like

Denne parameteren definerer kildematrisen som inneholder elementer hvis unike verdier er ønsket. Matrisen vil bli flatet ut hvis den ikke er 1D-matrise.

Return_index: bool (valgfritt)

factorial i java

Hvis denne parameteren er satt til True, vil funksjonen returnere indeksene til inngangsmatrisen (langs den spesifiserte aksen hvis den er gitt eller i den flate matrisen), noe som resulterer i den unike matrisen.

return_inverse: bool (valgfritt)

Hvis denne parameteren er satt til True, vil funksjonen også returnere indeksene til inngangsmatrisen (langs den spesifiserte aksen hvis den er gitt eller i den flattede matrisen), som kan brukes til å rekonstruere inngangsmatrisen.

Return_counts: bool (valgfritt)

Hvis denne parameteren er satt til True, vil funksjonen returnere antall ganger hvert unikt element dukket opp i input-arrayen 'a'.

akse: int eller ingen (valgfritt)

Denne parameteren definerer aksen som skal opereres på. Hvis denne parameteren ikke er satt, vil matrisen 'a' bli flatet ut. Hvis denne parameteren er et heltall, vil undermatrisene indeksert av den gitte aksen bli flatet ut og behandlet som et element i en 1-D-matrise med dimensjonen til den gitte aksen. Strukturerte matriser eller objektmatriser som inneholder objekter støttes ikke hvis aksen 'kwarg' brukes.

Returnerer

Denne funksjonen returnerer fire typer utganger som er som følger:

unik: ndarray

fibonacci-serien i ca

I denne utgangen vil en ndarray vises som inneholder sorterte unike verdier.

unike_indekser: ndarray (valgfritt)

I denne utgangen vil en ndarray vises som inneholder indeksene for de første forekomstene av de unike verdiene i den opprinnelige matrisen. Denne utgangen er bare gitt hvis return_index er True.

unik_omvendt: ndarray (valgfritt)

I denne utgangen vil en ndarray vises som inneholder indeksene for å rekonstruere den opprinnelige matrisen fra den unike matrisen. Denne utgangen er bare gitt hvis return_inverse er True.

unike_antall: ndarray (valgfritt)

I denne utgangen vil en ndarray vises som inneholder antall ganger hver av de unike verdiene kommer opp i den opprinnelige matrisen. Denne utgangen leveres bare hvis return_counts er True.

hiba bukhari

Eksempel 1:

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

Produksjon:

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

I koden ovenfor

  • Vi har importert numpy med alias navn np.
  • Vi har erklært variabelen 'a' og tildelt den returnerte verdien av funksjonen np.unique().
  • Vi har passert antall elementer i funksjonen.
  • Til slutt prøvde vi å skrive ut verdien av 'a'.

I utgangen er det vist en ndarray som inneholder unike elementer.

Eksempel 2:

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

Produksjon:

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

Eksempel 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 

Produksjon:

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

I koden ovenfor

  • Vi har importert numpy med alias navn np.
  • Vi har laget en flerdimensjonal matrise 'a'.
  • Vi har erklært variabelen 'b' og tildelt den returnerte verdien av funksjonen np.unique().
  • Vi har passert den flerdimensjonale matrisen 'a' og aksen som 0 i funksjonen.
  • Til slutt prøvde vi å skrive ut verdien av 'b'.

I utdataene er det vist en ndarray som inneholder unike rader av kildematrisen 'a'.

Eksempel 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 

Produksjon:

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

Merk: Når vi setter akse som 1, returnerer denne funksjonen de unike kolonnene fra kildematrisen.

Eksempel 5: Bruk returindeks

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

Produksjon:

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

I koden ovenfor

  • Vi har importert numpy med alias navn np.
  • Vi har laget en matrise 'a'.
  • Vi har erklært variabelen 'result' og 'indekser' og tildelt den returnerte verdien av np.unique()-funksjonen.
  • Vi har passert arrayen 'a' og satt return_index til True i funksjonen.
  • Til slutt prøvde vi å skrive ut verdien av 'resultat', 'indekser' og matriseelementer, som indikerer indeksene('a [indekser]').

I utdataene er det vist en ndarray som inneholder indeksene til den originale matrisen som gir unike verdier.

Eksempel 6: Bruk return_inverse

Vi kan rekonstruere input-arrayen fra de unike verdiene på følgende måte:

 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] 

Produksjon:

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