Filter a NumPy Array with Boolean Indexing
Keep only the values you want with scores[scores >= 80], no loop needed.
- Building a boolean mask
- Indexing with the mask
- Combining conditions with & and |
A mask of True and False
Il boolean indexing è il modo di filtrare i dati in NumPy con una condizione. Confrontando un array con un valore, NumPy crea un array di True e False, uno per elemento, chiamato maschera (mask). Usando questa maschera come indice restano solo gli elementi True.
Punti chiave
- scores
>=80 gives an array of True and False, one per value. scores[mask]keeps the values where the mask is True.- Combine conditions with & and |, and wrap each in parentheses.
Quando si usa?
- Fare calcoli veloci su molti valori insieme, senza scrivere cicli.
- Lavorare in modo efficiente con array, matrici e dati scientifici.
- Preparare i dati per la data science e il machine learning.
Codice di esempio
import numpy as np
scores = np.array([64, 82, 91, 73, 88])
passing = scores[scores >= 80]
print(passing)
Risultato dell'esecuzione
[82 91 88]
Spiegazione del codice
Il confronto scores >= 80 crea la maschera [False, True, True, False, True]. Mettendo la maschera tra parentesi quadre, scores[...], restano solo i voti da 80 in su: [82 91 88]. Per combinare più condizioni usa & (e) e | (o), mettendo ogni condizione tra parentesi tonde.
Modifica i valori ed esegui il programma nel compilatore Python online CodeUtility senza installare Python.
Esercizi di approfondimento
Prova a modificare il codice seguendo i suggerimenti qui sotto. Cambiare il codice e osservare il risultato ti aiuta a capire molto più che leggerlo soltanto.
- Cambia la forma (shape) e il tipo di dato (dtype) dell'array di input.
- Prova con numeri negativi, decimali e valori mancanti.
- Applica la stessa operazione a un array più grande, con più dimensioni, e misura il tempo.
Esercitati con una sfida
Usa ciò che questa lezione spiega per risolvere un problema reale. Ogni sfida gira nel browser, con test immediati e una revisione dell'IA.
- Above-Average Values Keep the values that are greater than the average. Facile
- Count Positive Numbers Count the values greater than zero in a list. Facile