Numpy np.dove più condizioni

Numpy np.dove più condizioni
In questo tutorial, imparerai i vari metodi che puoi utilizzare per specificare più condizioni utilizzando NP.dove () funzione.

Metodo 1 - Numpy.dove () condizioni multiple utilizzando l'operatore e

La funzione Where () in Numpy ci consente di selezionare elementi da un determinato array che corrisponde a una determinata condizione. Per impostazione predefinita, la funzione accetta una singola condizione da abbinare all'array di elementi indicati. Cosa succede se dovessimo verificare più condizioni in un determinato array? A tale scopo, possiamo usare gli operatori logici di Python per farlo. Uno di questi operatori è l'operatore & (e). Ci consente di specificare più condizioni all'interno della funzione Where e aggiungerle con le & Operator. La funzione prenderà tutte le condizioni specificate e restituirà gli elementi che corrispondono a tutte le condizioni.

Possiamo illustrarlo con un esempio come mostrato di seguito:

Importa Numpy come NP
arr = np.Array ([100.120.344.232.343.456.674.637])
new_arr = arr [NP.dove ((arr> 300) e (arr<500))]
Stampa (new_arr)

Nel programma sopra, iniziamo creando un array con una serie di numeri interi. Quindi creiamo un nuovo array e utilizziamo la funzione dove filtrare per più condizioni. Se un elemento nell'array è maggiore di 300 e meno di 500, aggiungilo al nuovo array. Infine, stampiamo l'array risultante:

L'uso dell'operatore e l'operatore assicura che entrambe le condizioni siano vere.

Metodo 2 - Numpy.dove () condizioni multiple utilizzando l'operatore o l'operatore

In alcuni casi, potresti desiderare che solo una delle molteplici condizioni sia vera. Per questo, possiamo usare l'operatore o. Questo dice che la funzione per valutare tutte le condizioni fornite e se qualsiasi elemento nell'array dato corrisponde a uno di essi, aggiungilo al risultato.

Prendi il risultato di esempio mostrato di seguito:

Importa Numpy come NP
arr = np.Array ([100.120.344.232.343.456.674.637])
new_arr = arr [NP.dove ((arr> 300) | (arr == 500))]
Stampa (new_arr)

Nell'esempio sopra, usiamo il | operatore per specificare più condizioni e archiviare i valori risultanti nella variabile new_arr. Se qualsiasi elemento dell'array di input è maggiore o uguale a 500, aggiungilo al nuovo array.

L'output risultante:

Possiamo vedere che tutti gli elementi restituiti sono superiori a 300.

Metodo 3 - Numpy.dove () condizioni multiple con numpy.funzione logical_and ()

Se non si desidera utilizzare gli operatori logici di Python, Numpy ha una funzione logica_and () che può sostituire il & operatore.

La funzione viene utilizzata per determinare la verità per l'elemento di un valore di un e gate. Vediamo come possiamo adottare questa funzione per specificare più condizioni in una funzione numpy dove ().

Importa Numpy come NP
arr = np.Array ([100.120.344.232.343.456.674.637])
new_arr = arr [NP.dove (NP.logical_and (arr> 300, arr<400))]
Stampa (new_arr)

Nel codice sopra, iniziamo definendo una serie di numeri interi i cui elementi desideriamo filtrare.

Quindi usiamo il NP.dove () funzionano e supera le condizioni che desideriamo valutare. In questo caso, li passiamo come argomenti del NP.logical_and function.

La funzione valuta le condizioni e filtra gli elementi che corrispondono ai valori specificati.

Un output di esempio è come mostrato:

Dall'output, solo due elementi corrispondono alle condizioni specificate.

Metodo 4 - Numpy.dove () condizioni multiple con numpy.funzione logical_or ()

Allo stesso modo, Numpy ha una funzione che svolge lo stesso compito del logico di Python o. Il numpy.La funzione logical_or () viene utilizzata per calcolare il valore reale per l'elemento di un o gate.

Per il nostro caso, possiamo specificare più condizioni e passarle al NP.dove () funzione.

Un codice di esempio è come mostrato di seguito:

Importa Numpy come NP
arr = np.Array ([100.120.344.232.343.456.674.637])
new_arr = arr [NP.dove (NP.logical_or (arr> 300, arr%2 == 0))
Stampa (new_arr)

Qui, la funzione dovrebbe restituire tutti gli elementi che sono superiori a 300 o quelli che pari.

I valori risultanti sono:

Funziona.

Chiusura

Questo è tutto per questo. In questo tutorial, hai imparato come specificare più condizioni nella funzione numpy dove () usando la funzione logica logica o logica e, logica di numpy e la funzione logica_or di Numpy.