Indicizzazione booleana
Lezione 14 di 18 del corso Fondamenti di NumPy di Coddy.
Numpy offre la possibilità di selezionare elementi in base a condizioni.
Usa la seguente sintassi: ary[ary operator number]
ary[ary > 5]ary[ary == 5]ary[ary <= 5]- ecc.
Esempio 1
Recupera tutti i numeri minori di 5
x = np.array([1, 5, 2, 4, 9 ,10 ,13, 7])
x[x < 5]
>>> [1, 2, 4]Esempio 2
Cosa succede con dimensioni maggiori?
x = np.array([[1, 5], [2, 4], [9 ,10] ,[13, 7]])
x[x < 5] # --> [1, 2, 4]
x[x >= 5] # --> [5, 9, 10, 13, 7]
x[x == 6] # --> []Hai visto? Restituisce un singolo array con tutti gli elementi che soddisfano la condizione
Quando applichiamo una condizione a x, restituisce un array boolean che indica, per ogni indice, se soddisfa la condizione.
Esempio 3
Questa volta esamineremo cosa succede se usiamo semplicemente una condizione senza le parentesi []
x = np.array([1, 2, 3])
x < 2
>>> [True, False, False]Restituisce un elenco di tutti gli indici che soddisfano la condizione
Esempio 4
Invece di inserire una condizione tra le parentesi [], possiamo inserire un elenco booleano, proprio come quello ottenuto nell'esempio precedente, per recuperare gli elementi desiderati.
x = np.array([8, 4, 10])
x[[False, True, False]] # --> [4]
x[[True, True, False]] # --> [8, 4]
x[[True, False, True]] # --> [8, 10]
x[[False, False, False]] # --> []
Gli esempi 3 e 4 spiegano perché x[x < 5] funziona.
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Sfida
FacileScrivi una funzione chiamata small_five che riceve una lista e restituisce la somma di tutti gli elementi minori di 5
Provalo tu
import numpy as np
def small_five(lst):
# Complete your codeTutte le lezioni di Fondamenti di NumPy
2Creazione di array N-dimensionali
Dimensione superioreComprendere le formeRiempimento con valori fissiTipi NumPyIntervalloRimodellamento3Indicizzazione degli array NumPy
Indicizzazione di baseSlicingIndicizzazione degli arrayIndicizzazione dimensionaleIndicizzazione booleanaIndicizzazione con condizioni multipleEsercitati da solo: Compilatore Python online