La libreria NumPy viene utilizzata in Python per creare uno o più array dimensionali e ha molte funzioni per lavorare con l'array. La funzione unique()èuna delle funzioni utili di questa libreria per scoprire i valori univoci di un array e restituire i valori univoci ordinati. Questa funzione può anche restituire una tupla di valori dell'array, l'array degli indici associativi e il numero di volte in cui ogni valore univoco appare nell'array principale. I diversi usi di questa funzione sono mostrati in questo tutorial.
Sintassi:
La sintassi di questa funzione è riportata di seguito.
array numpy.unico (array_input, indice_ritorno, inverso_ritorno, conteggi_ritorno, asse)Questa funzione può richiedere cinque argomenti e lo scopo di questi argomenti è spiegato di seguito.
- input_array: è un argomento obbligatorio che contiene l'array di input da cui verrà restituito l'array di output recuperando i valori univoci. Se l'array non è un array unidimensionale, l'array verrà appiattito.
- indice_ritorno: è un argomento opzionale che può assumere un valore booleano. Se il valore di questo argomento è impostato su Vero, restituirà gli indici dell'array di input.
- ritorno_inverso: è un argomento opzionale che può assumere un valore booleano. Se il valore di questo argomento è impostato su Vero, quindi restituirà gli indici dell'array di output che contiene i valori univoci.
- return_counts: è un argomento opzionale che può assumere un valore booleano. Se il valore di questo argomento è impostato su Vero, quindi restituirà il numero di volte in cui ogni elemento dell'array univoco appare nell'array di input.
- asse: è un argomento facoltativo che può assumere qualsiasi valore intero o Nessuno. Se non viene impostato alcun valore per questo argomento, l'array di input verrà appiattito.
La funzione unique() può restituire quattro tipi di array in base ai valori degli argomenti.
Esempio 1: stampa i valori univoci dell'array unidimensionale
L'esempio seguente mostra l'uso della funzione unique() per creare un array con i valori univoci di un array unidimensionale. Come valore dell'argomento della funzione unique() è stato utilizzato un array unidimensionale di 9 elementi. Il valore restituito da questa funzione è stato stampato in seguito.
# Importa la libreria NumPyimporta numpy come np
# Crea un array di un numero intero
np_array = np.unico([55, 23, 40, 55, 35, 90, 23, 40, 80])
# Stampa i valori univoci
print("L'array di valori univoci è:\n", np_array)
Produzione:
Il seguente output apparirà dopo aver eseguito lo script sopra. L'array di input contiene 6 elementi univoci che vengono mostrati nell'output.
Esempio 2: stampa i valori e gli indici univoci in base all'array di input
L'esempio seguente mostra come è possibile recuperare i valori e gli indici univoci dell'array bidimensionale utilizzando la funzione unique()(). Come array di input è stato utilizzato un array bidimensionale di 2 righe e 6 colonne. Il valore di indice_ritorno l'argomento è stato impostato su Vero per ottenere gli indici dell'array di input in base ai valori dell'array univoci.
# Importa la libreria NumPyimporta numpy come np
# Crea un array bidimensionale
np_array = np.array([[6, 4, 9, 6, 2, 9], [3, 7, 7, 6, 1, 3]])
# Stampa l'array bidimensionale
print("Il contenuto dell'array bidimensionale: \n", np_array)
# Crea l'array univoco e l'array indice di valori univoci
array_univoco, array_indice = np.unique(np_array, return_index=True)
# Stampa i valori di array univoci e indice
print("Il contenuto dell'array univoco:\n", array_univoco)
print("Il contenuto della matrice indice:\n", matrice_indice)
Produzione:
Il seguente output apparirà dopo aver eseguito lo script sopra. L'array di input contiene 7 valori univoci. L'output mostra l'array di 7 valori univoci e 7 indici di quei valori dall'array di input.
Esempio 3: stampa i valori e gli indici univoci in base all'array di output
L'esempio seguente mostra come i valori univoci di un array unidimensionale e gli indici basati sui valori univoci utilizzando la funzione unique(). Nello script, come array di input è stato utilizzato un array unidimensionale di 9 elementi. Il valore di ritorno_inverso l'argomento è impostato su Vero che restituirà un altro array di indici basato sull'indice di array univoco. Sia l'array univoco che l'array di indici sono stati stampati in seguito.
# Importa la libreria NumPyimporta numpy come np
# Crea un array di valori interi
np_array = np.matrice([10, 60, 30, 10, 20, 40, 60, 10, 20])
print("I valori dell'array di input:\n", np_array)
# Crea l'array univoco e l'array inverso
array_univoco, array_inverso = np.unique(np_array, return_inverse=True)
# Stampa i valori dell'array univoco e dell'array inverso
print("I valori dell'array univoco: \n", array_univoco)
print("I valori dell'array inverso: \n", inverse_array)
Produzione:
Il seguente output apparirà dopo aver eseguito lo script sopra. L'output mostrava l'array di input, l'array univoco e l'array inverso. L'array di input contiene 5 valori univoci. Questi sono 10, 20, 30, 40 e 60. L'array di input contiene 10 in tre indici che sono il primo elemento dell'array univoco. Quindi, 0 è apparso tre volte nell'array inverso. Gli altri valori dell'array inverso sono stati posizionati allo stesso modo.
Esempio-4: stampa i valori univoci e la frequenza di ciascun valore univoco
L'esempio seguente mostra come la funzione unique() può recuperare i valori univoci e la frequenza di ciascun valore univoco dell'array di input. Il valore di return_counts l'argomento è stato impostato su Vero per ottenere l'array dei valori di frequenza. Un array unidimensionale di 12 elementi è stato utilizzato nella funzione unique() come array di input. L'array di valori univoci e i valori di frequenza sono stati stampati successivamente.
# Importa la libreria NumPyimporta numpy come np
# Crea un array di valori interi
np_array = np.matrice([70, 40, 90, 50, 20, 90, 50, 20, 80, 10, 40, 30])
print("I valori dell'array di input:\n", np_array)
# Crea array univoci e conta array
array_univoco, array_conta = np.unique(np_array, return_counts=True)
# Stampa i valori dell'array univoco e dell'array inverso
print("I valori dell'array univoco: \n", array_univoco)
print("I valori dell'array count: \n", count_array)
Produzione:
Il seguente output apparirà dopo aver eseguito lo script sopra. L'array di input, l'array univoco e l'array di conteggio sono stati stampati nell'output.
Conclusione
Gli usi dettagliati delle funzioni unique() sono stati spiegati in questo tutorial usando più esempi. Questa funzione può restituire i valori di array diversi e ha mostrato qui utilizzando array unidimensionali e bidimensionali.