Menu
Coddy logo textTech

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.

quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

challenge icon

Sfida

Facile

Scrivi 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 code

Tutte le lezioni di Fondamenti di NumPy

Esercitati da solo: Compilatore Python online