logo

numpy.unique() in Python

Il modulo Numpy di Python fornisce una funzione per trovare elementi univoci in un array Numpy. La funzione numpy.unique() trova gli elementi univoci di un array e restituisce questi elementi univoci come un array ordinato. Oltre agli elementi unici, ci sono anche alcuni output opzionali, che sono i seguenti:

  • L'output può essere costituito dagli indici dell'array di input che forniscono valori univoci
  • L'output può essere costituito dagli indici dell'array univoco che ricostruiscono l'array di input
  • L'output può essere un array del numero di volte in cui ciascun valore univoco è presente nell'array di input.

Sintassi

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

Parametri

Questi sono i seguenti parametri nella funzione numpy.mean():

a: array_like

Questo parametro definisce l'array di origine contenente gli elementi i cui valori univoci sono desiderati. L'array verrà appiattito se non è un array 1-D.

Return_index: bool(opzionale)

tipo variabili java

Se questo parametro è impostato su True, la funzione restituirà gli indici dell'array di input (lungo l'asse specificato se fornito o nell'array appiattito), che risulta nell'array univoco.

return_inverse: bool(opzionale)

Se questo parametro è impostato su True, la funzione restituirà anche gli indici dell'array di input (lungo l'asse specificato se fornito o nell'array appiattito), che possono essere utilizzati per ricostruire l'array di input.

Return_counts: bool (opzionale)

Se questo parametro è impostato su True, la funzione restituirà il numero di volte in cui ciascun elemento univoco è apparso nell'array di input 'a'.

asse: int o Nessuno (facoltativo)

Questo parametro definisce l'asse su cui operare. Se questo parametro non è impostato, l'array 'a' verrà appiattito. Se questo parametro è un numero intero, i sottoarray indicizzati dall'asse dato verranno appiattiti e trattati come un elemento di un array 1D con la dimensione dell'asse dato. Gli array strutturati o gli array di oggetti che contengono oggetti non sono supportati se viene utilizzato l'asse 'kwarg'.

lista collegata

ritorna

Questa funzione restituisce quattro tipi di output che sono i seguenti:

unico: ndarray

In questo output verrà mostrato un ndarray che contiene valori univoci ordinati.

unique_indices: ndarray(facoltativo)

In questo output verrà mostrato un ndarray che contiene gli indici delle prime occorrenze dei valori univoci nell'array originale. Questo output viene fornito solo se return_index è True.

unique_inverse: ndarray(opzionale)

In questo output verrà mostrato un ndarray che contiene gli indici per ricostruire l'array originale dall'array univoco. Questo output viene fornito solo se return_inverse è True.

unique_counts: ndarray (opzionale)

In questo output verrà mostrato un ndarray che contiene il numero di volte in cui ciascuno dei valori univoci compare nell'array originale. Questo output viene fornito solo se return_counts è True.

array in Java

Esempio 1:

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

Produzione:

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

Nel codice sopra

  • Abbiamo importato Numpy con il nome alias np.
  • Abbiamo dichiarato la variabile 'a' e assegnato il valore restituito dalla funzione np.unique().
  • Abbiamo passato il numero di elementi nella funzione.
  • Infine, abbiamo provato a stampare il valore di 'a'.

Nell'output è stato mostrato un ndarray che contiene elementi univoci.

Esempio 2:

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

Produzione:

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

Esempio 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 

Produzione:

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

Nel codice sopra

come cambiare la stringa in int
  • Abbiamo importato Numpy con il nome alias np.
  • Abbiamo creato un array multidimensionale 'a'.
  • Abbiamo dichiarato la variabile 'b' e assegnato il valore restituito dalla funzione np.unique().
  • Abbiamo passato l'array multidimensionale 'a' e l'asse come 0 nella funzione.
  • Infine, abbiamo provato a stampare il valore di 'b'.

Nell'output è stato mostrato un ndarray che contiene righe univoche dell'array di origine 'a'.

Esempio 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 

Produzione:

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

Nota: quando impostiamo l'asse come 1, questa funzione restituisce le colonne univoche dall'array di origine.

Esempio 5: utilizzare 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] 

Produzione:

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

Nel codice sopra

  • Abbiamo importato Numpy con il nome alias np.
  • Abbiamo creato un array 'a'.
  • Abbiamo dichiarato la variabile 'risultato' e 'indices' e assegnato il valore restituito dalla funzione np.unique().
  • Abbiamo passato l'array 'a' e impostato return_index su True nella funzione.
  • Infine, abbiamo provato a stampare il valore di 'result', 'indices' e degli elementi dell'array, che indica gli indici('a [indices]').

Nell'output è stato mostrato un ndarray che contiene gli indici dell'array originale che danno valori univoci.

Esempio 6: utilizzare return_inverse

Possiamo ricostruire l'array di input dai valori univoci nel modo seguente:

 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] 

Produzione:

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