logo

numpy.unique() i Python

Pythons numpy-modul giver en funktion til at finde unikke elementer i et numpy-array. Funktionen numpy.unique() finder de unikke elementer i et array og returnerer disse unikke elementer som et sorteret array. Ud over de unikke elementer er der også nogle valgfrie udgange, som er som følger:

  • Outputtet kan være indekserne for input-arrayet, som giver de unikke værdier
  • Outputtet kan være indeksene for det unikke array, som rekonstruerer input-arrayet
  • Outputtet kan være en matrix med det antal gange, hver unik værdi kommer i input-arrayet.

Syntaks

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

Parametre

Disse er følgende parametre i numpy.mean()-funktionen:

a: array_like

Denne parameter definerer det kildearray, der indeholder elementer, hvis unikke værdier ønskes. Arrayet bliver fladtrykt, hvis det ikke er 1-D-array.

Return_index: bool (valgfrit)

.næste java

Hvis denne parameter er sat True, vil funktionen returnere indeksene for input-arrayet (langs den angivne akse, hvis det er angivet, eller i det fladtrykte array), hvilket resulterer i det unikke array.

return_inverse: bool (valgfrit)

Hvis denne parameter er sat True, vil funktionen også returnere indeksene for input-arrayet (langs den angivne akse, hvis det er angivet eller i det fladtrykte array), som kan bruges til at rekonstruere input-arrayet.

Return_counts: bool (valgfrit)

Hvis denne parameter er sat True, vil funktionen returnere det antal gange, hvert unikt element optrådte i input-arrayet 'a'.

akse: int eller ingen (valgfrit)

Denne parameter definerer den akse, der skal arbejdes på. Hvis denne parameter ikke er indstillet, vil arrayet 'a' blive fladtrykt. Hvis denne parameter er et heltal, vil underarrays indekseret af den givne akse blive fladtrykt og behandlet som et element i et 1-D array med dimensionen af ​​den givne akse. Strukturerede arrays eller objektarrays, der indeholder objekter, understøttes ikke, hvis aksen 'kwarg' bruges.

Vender tilbage

Denne funktion returnerer fire typer output, som er som følger:

unik: ndarray

nginx

I dette output vil et ndarray blive vist, der indeholder sorterede unikke værdier.

unikke_indekser: ndarray (valgfrit)

I dette output vil der blive vist et ndarray, der indeholder indekserne for de første forekomster af de unikke værdier i det originale array. Dette output leveres kun, hvis return_index er True.

unik_omvendt: ndarray (valgfrit)

I dette output vil der blive vist et ndarray, der indeholder indekserne til at rekonstruere det originale array fra det unikke array. Dette output leveres kun, hvis return_inverse er True.

unikke_antal: ndarray (valgfrit)

I dette output vil der blive vist et ndarray, der indeholder det antal gange, hver af de unikke værdier kommer op i det originale array. Dette output leveres kun, 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 

Produktion:

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

I ovenstående kode

  • Vi har importeret numpy med alias navn np.
  • Vi har erklæret variablen 'a' og tildelt den returnerede værdi af funktionen np.unique().
  • Vi har bestået antallet af elementer i funktionen.
  • Til sidst forsøgte vi at udskrive værdien af ​​'a'.

I outputtet er der vist et ndarray, som indeholder unikke elementer.

Eksempel 2:

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

Produktion:

pvr fuld 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 

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 ovenstående kode

  • Vi har importeret numpy med alias navn np.
  • Vi har skabt et multidimensionelt array 'a'.
  • Vi har erklæret variablen 'b' og tildelt den returnerede værdi af funktionen np.unique().
  • Vi har passeret den flerdimensionelle matrix 'a' og aksen som 0 i funktionen.
  • Til sidst forsøgte vi at udskrive værdien af ​​'b'.

I outputtet er der vist et ndarray, der indeholder unikke rækker af kildearrayet '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 

Produktion:

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

Bemærk: Når vi sætter akse som 1, returnerer denne funktion de unikke kolonner fra kildearrayet.

Eksempel 5: Brug 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 ovenstående kode

  • Vi har importeret numpy med alias navn np.
  • Vi har oprettet et array 'a'.
  • Vi har erklæret variablen 'resultat' og 'indekser' og tildelt den returnerede værdi af funktionen np.unique().
  • Vi har bestået arrayet 'a' og sat return_index til True i funktionen.
  • Til sidst forsøgte vi at udskrive værdien af ​​'resultat', 'indekser' og array-elementer, som angiver indeksene ('a [indekser]').

I outputtet er der vist et ndarray, der indeholder indekserne for det originale array, der giver unikke værdier.

Eksempel 6: Brug return_inverse

Vi kan rekonstruere input-arrayet fra de unikke værdier på følgende måde:

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