Come filtrare un array numpy (4 esempi)


È possibile utilizzare i seguenti metodi per filtrare i valori di un array NumPy:

Metodo 1: filtra i valori in base a una singola condizione

 #filter for values less than 5
my_array[my_array < 5 ]

Metodo 2: filtrare i valori utilizzando la condizione “OR”.

 #filter for values less than 5 or greater than 9
my_array[(my_array < 5 ) | (my_array > 9 )]

Metodo 3: filtrare i valori utilizzando la condizione “AND”.

 #filter for values greater than 5 and less than 9
my_array[(my_array > 5 ) & (my_array < 9 )]

Metodo 4: filtra i valori contenuti nell’elenco

 #filter for values that are equal to 2, 3, 5, or 12
my_array[np. in1d (my_array, [2, 3, 5, 12])]

Questo tutorial spiega come utilizzare in pratica ciascun metodo con il seguente array NumPy:

 import numpy as np

#create NumPy array
my_array = np. array ([1, 2, 2, 3, 5, 6, 7, 10, 12, 14])

#view NumPy array
my_array

array([ 1, 2, 2, 3, 5, 6, 7, 10, 12, 14])

Esempio 1: filtrare i valori in base a una condizione

Il codice seguente mostra come filtrare i valori dell’array NumPy in base a una singola condizione:

 #filter for values less than 5
my_array[(my_array < 5 )]

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

#filter for values greater than 5
my_array[(my_array > 5 )]

array([6,7,10,12,14])

#filter for values equal to 5
my_array[(my_array == 5 )]

array([5])

Esempio 2: filtrare i valori utilizzando la condizione “OR”.

Il codice seguente mostra come filtrare i valori dell’array NumPy utilizzando una condizione “OR”:

 #filter for values less than 5 or greater than 9
my_array[(my_array < 5 ) | (my_array > 9 )]

array([ 1, 2, 2, 3, 10, 12, 14])

Questo filtro restituisce valori dell’array NumPy inferiori a 5 o superiori a 9.

Esempio 3: filtrare i valori utilizzando la condizione “AND”.

Il codice seguente mostra come filtrare i valori dell’array NumPy utilizzando una condizione “AND”:

 #filter for values greater than 5 and less than 9
my_array[(my_array > 5 ) & (my_array < 9 )]

array([6, 7])

Questo filtro restituisce valori dall’array NumPy maggiori di 5 e minori di 9.

Esempio 4: filtrare i valori contenuti nella lista

Il codice seguente mostra come filtrare i valori dell’array NumPy contenuti in un elenco:

 #filter for values that are equal to 2, 3, 5, or 12
my_array[np. in1d (my_array, [2, 3, 5, 12])]

array([ 2, 2, 3, 5, 12])

Questo filtro restituisce solo valori pari a 2, 3, 5 o 12.

Nota : puoi trovare la documentazione completa per la funzione NumPy in1d() qui .

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre operazioni di filtraggio comuni in Python:

Come filtrare le righe Pandas DataFrame che contengono una stringa specifica
Come filtrare un Pandas DataFrame su più condizioni
Come utilizzare il filtro “NOT IN” in Pandas DataFrame

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *