logo

numpy.unique() i Python

Numpy-modulen i Python tillhandahåller en funktion för att hitta unika element i en numpy-array. Funktionen numpy.unique() hittar de unika elementen i en array och returnerar dessa unika element som en sorterad array. Förutom de unika elementen finns det även några valfria utgångar, som är följande:

  • Utdata kan vara indexen för inmatningsmatrisen som ger de unika värdena
  • Utdata kan vara indexen för den unika matrisen som rekonstruerar inmatningsmatrisen
  • Utdata kan vara en matris med antalet gånger varje unikt värde kommer i inmatningsmatrisen.

Syntax

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

Parametrar

Det här är följande parametrar i funktionen numpy.mean():

a: array_like

Denna parameter definierar källmatrisen som innehåller element vars unika värden önskas. Arrayen kommer att tillplattas om den inte är 1D-array.

Return_index: bool (valfritt)

datum konvertera till sträng

Om den här parametern är inställd True, kommer funktionen att returnera indexen för inmatningsmatrisen (längs den angivna axeln om tillhandahållen eller i den tillplattade matrisen), vilket resulterar i den unika matrisen.

return_inverse: bool (valfritt)

Om den här parametern är inställd True, kommer funktionen också att returnera indexen för inmatningsmatrisen (längs den angivna axeln om tillhandahållen eller i den tillplattade matrisen), som kan användas för att rekonstruera inmatningsmatrisen.

Return_counts: bool (valfritt)

Om den här parametern är satt till True, kommer funktionen att returnera antalet gånger varje unikt objekt förekom i inmatningsarrayen 'a'.

fabriksmetod designmönster

axel: int eller ingen (valfritt)

Denna parameter definierar den axel som ska arbeta på. Om denna parameter inte är inställd, kommer arrayen 'a' att tillplattas. Om den här parametern är ett heltal, så kommer undermatriserna som indexeras av den givna axeln att tillplattas och behandlas som ett element i en 1-D-matris med dimensionen för den givna axeln. Strukturerade arrayer eller objektarrayer som innehåller objekt stöds inte om axeln 'kwarg' används.

Returnerar

Denna funktion returnerar fyra typer av utgångar som är följande:

unik: ndarray

I denna utgång kommer en ndarray att visas som innehåller sorterade unika värden.

unika_index: ndarray(valfritt)

I denna utdata kommer en ndarray att visas som innehåller indexen för de första förekomsterna av de unika värdena i den ursprungliga matrisen. Denna utdata tillhandahålls endast om return_index är True.

unik_omvänd: ndarray(valfritt)

I denna utgång kommer en ndarray att visas som innehåller indexen för att rekonstruera den ursprungliga arrayen från den unika arrayen. Denna utdata tillhandahålls endast om return_inverse är True.

unika_antal: ndarray(valfritt)

I denna utgång kommer en ndarray att visas som innehåller antalet gånger vart och ett av de unika värdena kommer upp i den ursprungliga arrayen. Denna utdata tillhandahålls endast om return_counts är True.

java sträng klass

Exempel 1:

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

Produktion:

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

I ovanstående kod

  • Vi har importerat numpy med alias np.
  • Vi har deklarerat variabeln 'a' och tilldelat det returnerade värdet av funktionen np.unique().
  • Vi har passerat antalet element i funktionen.
  • Till sist försökte vi skriva ut värdet på 'a'.

I utgången har en ndarray visats, som innehåller unika element.

Exempel 2:

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

Produktion:

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

Exempel 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 

Produktion:

 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 ovanstående kod

  • Vi har importerat numpy med alias np.
  • Vi har skapat en flerdimensionell array 'a'.
  • Vi har deklarerat variabeln 'b' och tilldelat det returnerade värdet av funktionen np.unique().
  • Vi har passerat den flerdimensionella arrayen 'a' och axeln som 0 i funktionen.
  • Till sist försökte vi skriva ut värdet på 'b'.

I utgången har en ndarray visats som innehåller unika rader av källmatrisen 'a'.

Exempel 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 

Produktion:

hur man konverterar sträng till heltal i java
 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]]) 

Obs: När vi sätter axeln som 1 returnerar den här funktionen de unika kolumnerna från källmatrisen.

Exempel 5: Använd 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] 

Produktion:

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

I ovanstående kod

  • Vi har importerat numpy med alias np.
  • Vi har skapat en array 'a'.
  • Vi har deklarerat variabeln 'result' och 'index' och tilldelat det returnerade värdet av funktionen np.unique().
  • Vi har passerat arrayen 'a' och satt return_index till True i funktionen.
  • Till sist försökte vi skriva ut värdet på 'resultat', 'index' och arrayelement, vilket indikerar indexen('a [index]').

I utgången har en ndarray visats som innehåller indexen för den ursprungliga arrayen som ger unika värden.

Exempel 6: Använd return_inverse

Vi kan rekonstruera indatamatrisen från de unika värdena på följande sätt:

 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] 

Produktion:

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