📢 Nuovo Corso Bootstrap Completo disponibile!

Filtrare Array in NumPy

Il filtraggio degli array è un’operazione comune quando si desidera selezionare specifici elementi che soddisfano determinate condizioni in un array NumPy. NumPy offre diverse funzioni e tecniche per filtrare array in modo efficiente. In questo articolo, esploreremo come utilizzare NumPy per filtrare array.

Filtraggio con Operatori di Confronto

Puoi utilizzare operatori di confronto, come <, >, <=, >=, ==, e !=, per creare condizioni di filtraggio su un array. Questi operatori restituiranno un array di valori booleani che indicano se ciascun elemento soddisfa la condizione specificata.

Ecco un esempio:

import numpy as np
# Creazione di un array
arr = np.array([1, 2, 3, 4, 5])
# Filtraggio per condizione (elementi maggiori di 3)
filtered_arr = arr > 3
print(filtered_arr)
# Restituisce un array di valori booleani: [False False False True True]

In questo esempio, filtered_arr contiene True per gli elementi maggiori di 3 e False per gli altri.

Utilizzo del Filtraggio per l’Indicizzazione

Una volta creato un array di valori booleani che rappresentano la condizione di filtro, puoi utilizzarlo per selezionare gli elementi corrispondenti dall’array originale. Questo processo è noto come indicizzazione booleana.

Ecco un esempio:

import numpy as np
# Creazione di un array
arr = np.array([1, 2, 3, 4, 5])
# Filtraggio per condizione
filtered_arr = arr > 3
# Indicizzazione booleana
result_arr = arr[filtered_arr]
print(result_arr)
# Restituisce un nuovo array con gli elementi maggiori di 3: [4 5]

In questo esempio, result_arr contiene gli elementi dell’array originale che soddisfano la condizione di filtro.

Combinazione di Condizioni

Puoi anche combinare più condizioni di filtro utilizzando gli operatori logici & (AND) e | (OR). Ad esempio, per filtrare gli elementi compresi tra 2 e 4, puoi utilizzare la seguente sintassi:

filtered_arr = (arr >= 2) & (arr <= 4)

Filtraggio degli Array Multidimensionali

Il filtraggio funziona allo stesso modo anche per array multidimensionali. Puoi creare condizioni di filtro complesse e selezionare elementi in base a queste condizioni.

Ecco un esempio con una matrice:

import numpy as np
# Creazione di una matrice
matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
# Filtraggio per condizione (elementi pari)
filtered_matrix = matrix % 2 == 0
print(filtered_matrix)
# Restituisce un array di valori booleani:
# [[False True False]
# [ True False True]
# [False True False]]

In questo esempio, filtered_matrix contiene True per gli elementi pari nella matrice.

Conclusioni

Il filtraggio degli array in NumPy è una tecnica potente per selezionare elementi specifici in base a condizioni personalizzate. Puoi utilizzare operatori di confronto e operatori logici per creare condizioni complesse e poi applicarle agli array per ottenere i risultati desiderati. Questa capacità è fondamentale per l’analisi dei dati e la manipolazione degli array NumPy.