Scienza dei dati

Come usare la funzione Python NumPy where() con più condizioni

Come usare la funzione Python NumPy where() con più condizioni
La libreria NumPy ha molte funzioni per creare l'array in python. La funzione where() è una di queste per creare un array da un altro array NumPy in base a una o più condizioni. Alcune operazioni possono essere eseguite al momento della creazione dell'array in base alla condizione utilizzando questa funzione. Può essere usato anche senza alcuna espressione condizionale. In questo tutorial viene mostrato come questa funzione può essere utilizzata con più condizioni in Python.

Sintassi:

insensibile.dove(condizione,[x,y])

dove la funzione () può prendere due argomenti. Il primo argomento è obbligatorio e il secondo argomento è facoltativo. Se il valore del primo argomento (condizione) è vero, quindi l'output conterrà gli elementi dell'array dall'array, X altrimenti dall'array, . Questa funzione restituirà i valori dell'indice dell'array di input se non viene utilizzato alcun argomento opzionale.

Uso della funzione where():

Diversi tipi di operatori booleani possono essere usati per definire la condizione di questa funzione. Gli usi della funzione where a () con più condizioni sono mostrati in questa parte del tutorial.

Esempio -1: Utilizzo di più condizioni con OR logico

L'esempio seguente mostra l'uso della funzione where() con e senza l'argomento opzionale. Qui, l'OR logico è stato utilizzato per definire la condizione. La prima funzione where() è stata applicata in un array unidimensionale che restituirà l'array di indici dell'array di input in cui tornerà la condizione Vero. La seconda funzione where() applicata in due array unidimensionali recupererà i valori dal primo array quando la condizione restituirà True. Altrimenti, recupererà i valori dal secondo array.

# Importa la libreria NumPy
importa numpy come np
# Crea un array usando la lista
np_array1 = np.matrice([23, 11, 45, 43, 60, 18, 33, 71, 52, 38])
print("I valori dell'array di input:\n", np_array1)
# Crea un altro array in base alle condizioni multiple e un array
new_array1 = np.dove((np_array1 50))
# Stampa il nuovo array
print("I valori filtrati dell'array :\n", new_array1)
# Crea un array usando i valori dell'intervallo
np_array2 = np.arange(40, 50)
# Crea un altro array basato sulle condizioni multiple e su due array
new_array2 = np.dove((np_array1 60), np_array1, np_array2)
# Stampa il nuovo array
print("I valori filtrati dell'array :\n", new_array2)

Produzione:

Il seguente output apparirà dopo aver eseguito lo script sopra. Ecco, la condizione è tornata Vero per i valori 23,11,18,33 e 38 del primo array. La condizione è tornata falso per i valori 45, 43, 60, 71 e 52. Quindi, 42, 43, 44 e 48 sono stati aggiunti dal secondo array per i valori 45, 43, 60 e 52. Qui, 71 è fuori portata.

Esempio -2: Utilizzo di più condizioni con AND . logico

L'esempio seguente mostra come la funzione () può essere utilizzata con le condizioni multiple definite da logical e applicate in due array unidimensionali. Qui, sono stati creati due array NumPy unidimensionali utilizzando la funzione rand(). Questi array sono stati utilizzati nella funzione where() con le condizioni multiple per creare il nuovo array in base alle condizioni. La condizione tornerà Vero quando il valore del primo array è minore di 40 e il valore del secondo array è maggiore di 60. Il nuovo array è stato stampato più tardi.

# Importa la libreria NumPy
importa numpy come np
# Crea due array di valori casuali
np_array1 = np.casuale.rand(10)*100
np_array2 = np.casuale.rand(10)*100
# Stampa i valori dell'array
print("\nI valori del primo array :\n", np_array1)
print("\nI valori del secondo array :\n", np_array2)
# Crea un nuovo array in base alle condizioni
nuovo_array = np.dove((np_array1 60), np_array1, np_array2)
# Stampa il nuovo array
print("\nI valori filtrati di entrambi gli array:\n", new_array)

Produzione:

Il seguente output apparirà dopo aver eseguito lo script sopra. La condizione è tornata falso per tutti gli elementi. Quindi, l'array restituito contiene solo i valori del secondo array.

Esempio 3: utilizzo di più condizioni nell'array multidimensionale

L'esempio seguente mostra come dove la funzione () può essere utilizzata con le condizioni multiple definite da logical E che verrà applicato in due array multidimensionali. Qui, sono stati creati due array multidimensionali utilizzando le liste. Successivamente, queste funzioni sono state applicate nella funzione where() per creare il nuovo array in base alla condizione. La condizione utilizzata nella funzione ritornerà Vero dove il valore del primo array è pari e il valore del secondo array è dispari; in caso contrario, la condizione tornerà falso.

# Importa la libreria NumPy
importa numpy come np
# Crea due array multidimensionali di valori interi
np_array1 = np.matrice([[5, 12, 21, 6, 11], [6, 10, 15, 31, 8]])
np_array2 = np.matrice([[43, 19, 7, 34, 9], [99, 22, 41, 5, 12]])
# Stampa i valori dell'array
print("\nI valori del primo array :\n", np_array1)
print("\nI valori del secondo array :\n", np_array2)
# Crea un nuovo array da due array in base alle condizioni
nuovo_array = np.dove(((np_array1 % 2 == 0) & (np_array2 % 2 == 1)), np_array1, np_array2)
# Stampa il nuovo array
print("\nI valori filtrati di entrambi gli array:\n", new_array)

Produzione:

Il seguente output apparirà dopo aver eseguito lo script sopra. Nell'output, 43, 12, 7, 34, 9, 22, 41, 5 e 12 sono stati aggiunti nel nuovo array dal secondo array perché la condizione è falso per questi valori. Il primo valore 12 nel nuovo array è stato aggiunto dal primo array perché la condizione è Vero solo per questo valore.

Conclusione:

dove la funzione () della libreria NumPy è utile per filtrare i valori da due array. In questo tutorial è stata spiegata la creazione di un nuovo array filtrando i dati da due array in base a più condizioni definite da OR logico e AND logico. Spero che i lettori saranno in grado di utilizzare questa funzione nel loro script correttamente dopo aver praticato gli esempi di questo tutorial.

Come acquisire e riprodurre in streaming la tua sessione di gioco su Linux
In passato, giocare era considerato solo un hobby, ma con il tempo l'industria dei giochi ha visto una crescita enorme in termini di tecnologia e nume...
I migliori giochi da giocare con il tracciamento delle mani
Oculus Quest ha recentemente introdotto la grande idea del tracciamento manuale senza controller. Con un numero sempre crescente di giochi e attività ...
Come mostrare l'overlay OSD in app e giochi Linux a schermo intero
Giocare a giochi a schermo intero o utilizzare app in modalità a schermo intero senza distrazioni può tagliarti fuori dalle informazioni di sistema ri...