logo

numpy.unique() in Python

De numpy-module van Python biedt een functie voor het vinden van unieke elementen in een numpy-array. De functie numpy.unique() vindt de unieke elementen van een array en retourneert deze unieke elementen als een gesorteerde array. Naast de unieke elementen zijn er ook enkele optionele uitgangen, namelijk:

  • De uitvoer kunnen de indices zijn van de invoerarray die de unieke waarden geven
  • De uitvoer kan bestaan ​​uit de indices van de unieke array die de invoerarray reconstrueren
  • De uitvoer kan een array zijn van het aantal keren dat elke unieke waarde in de invoerarray voorkomt.

Syntaxis

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

Parameters

Dit zijn de volgende parameters in de functie numpy.mean():

a: array_like

Deze parameter definieert de bronarray die elementen bevat waarvan de unieke waarden gewenst zijn. De array wordt afgevlakt als deze geen 1D-array is.

Return_index: bool (optioneel)

Java-geldige ID's

Als deze parameter op True is ingesteld, retourneert de functie de indices van de invoerarray (langs de opgegeven as, indien aanwezig, of in de afgeplatte array), wat resulteert in de unieke array.

return_inverse: bool (optioneel)

Als deze parameter op True is ingesteld, retourneert de functie ook de indices van de invoerarray (langs de opgegeven as, indien aanwezig of in de afgeplatte array), die kunnen worden gebruikt om de invoerarray te reconstrueren.

Return_counts: bool (optioneel)

Als deze parameter op True is ingesteld, retourneert de functie het aantal keren dat elk uniek item in de invoerarray 'a' is verschenen.

as: int of Geen (optioneel)

Deze parameter definieert de as waarop moet worden gewerkt. Als deze parameter niet is ingesteld, wordt de array 'a' afgevlakt. Als deze parameter een geheel getal is, worden de subarrays die door de gegeven as zijn geïndexeerd, afgevlakt en behandeld als een element van een 1D-array met de dimensie van de gegeven as. Gestructureerde arrays of objectarrays die objecten bevatten, worden niet ondersteund als de as 'kwarg' wordt gebruikt.

Geeft terug

Deze functie retourneert vier soorten uitvoer, die als volgt zijn:

uniek: ndarray

java hallo wereld voorbeeld

In deze uitvoer wordt een ndarray weergegeven die gesorteerde unieke waarden bevat.

unieke_indices: ndarray (optioneel)

In deze uitvoer wordt een ndarray getoond die de indices bevat van de eerste keer dat de unieke waarden in de originele array voorkomen. Deze uitvoer wordt alleen gegeven als return_index True is.

unique_inverse: ndarray (optioneel)

In deze uitvoer wordt een ndarray getoond die de indices bevat om de originele array te reconstrueren op basis van de unieke array. Deze uitvoer wordt alleen gegeven als return_inverse True is.

unique_counts: ndarray(optioneel)

In deze uitvoer wordt een ndarray weergegeven die het aantal keren bevat dat elk van de unieke waarden in de originele array voorkomt. Deze uitvoer wordt alleen gegeven als return_counts True is.

nump uniek

Voorbeeld 1:

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

Uitgang:

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

In de bovenstaande code

  • We hebben numpy geïmporteerd met aliasnaam np.
  • We hebben de variabele 'a' gedeclareerd en de geretourneerde waarde van de functie np.unique() toegewezen.
  • We hebben het aantal elementen in de functie doorgegeven.
  • Ten slotte hebben we geprobeerd de waarde van 'a' af te drukken.

In de uitvoer is een ndarray getoond, die unieke elementen bevat.

Voorbeeld 2:

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

Uitgang:

matrix in c-taal
 array([[1, 2, 2, 3, 9], [1, 4, 3, 5, 8]]) array([1, 2, 3, 4, 5, 8, 9]) 

Voorbeeld 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 

Uitgang:

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

In de bovenstaande code

  • We hebben numpy geïmporteerd met aliasnaam np.
  • We hebben een multidimensionale array 'a' gemaakt.
  • We hebben de variabele 'b' gedeclareerd en de geretourneerde waarde van de functie np.unique() toegewezen.
  • We hebben de multidimensionale array 'a' en as als 0 doorgegeven in de functie.
  • Ten slotte hebben we geprobeerd de waarde van 'b' af te drukken.

In de uitvoer is een ndarray getoond die unieke rijen van de bronarray 'a' bevat.

Voorbeeld 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 

Uitgang:

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

Opmerking: wanneer we de as instellen op 1, retourneert deze functie de unieke kolommen uit de bronarray.

Voorbeeld 5: Gebruik 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] 

Uitgang:

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

In de bovenstaande code

  • We hebben numpy geïmporteerd met aliasnaam np.
  • We hebben een array 'a' gemaakt.
  • We hebben de variabele 'result' en 'indices' gedeclareerd en de geretourneerde waarde van de functie np.unique() toegewezen.
  • We hebben de array 'a' doorgegeven en return_index in de functie ingesteld op True.
  • Ten slotte hebben we geprobeerd de waarde van 'result', 'indices' en array-elementen af ​​te drukken, die de indices aangeven ('a [indices]').

In de uitvoer is een ndarray getoond die de indices van de originele array bevat die unieke waarden opleveren.

Voorbeeld 6: Gebruik return_inverse

We kunnen de invoerarray op de volgende manier reconstrueren op basis van de unieke waarden:

 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] 

Uitgang:

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