Filtrare array con indicizzazione booleana
Puoi indicizzare gli array anche usando l'indicizzazione booleana. Creando un array booleano in cui i valori sono True per gli indici che vuoi mantenere, puoi filtrare un array. Questo è particolarmente comodo per filtrare un array in base ai valori di un altro array.
In questo esercizio, esplorerai come varia il peso alla nascita tra gli animali che tendono ad avere un solo cucciolo per parto e quelli che ne hanno più di uno. Nel tuo workspace sono già caricati due array NumPy, insieme al pacchetto NumPy come np.
litter_sizeè la dimensione media della cucciolata per ciascuno di oltre 1200 animalibirth_weightè il corrispondente peso medio alla nascita in grammi per ciascun animale
Questo esercizio fa parte del corso
Python per utenti MATLAB
Istruzioni dell'esercizio
- Crea gli array booleani
mono_birthsemulti_birthsper gli animali che in genere hanno un singolo cucciolo per cucciolata e per quelli che ne hanno più di uno, rispettivamente. - Crea gli array
mono_birth_weightemulti_birth_weight, che contengono i pesi alla nascita degli animali con singola prole e con prole multipla, rispettivamente. - Stampa il peso medio alla nascita degli animali che tendono ad avere un singolo cucciolo per cucciolata e di quelli che ne hanno più di uno.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# Create Boolean arrays that indicate mono births and multi births
mono_births = litter_size ____ 1.0
multi_births = ____
# Create two arrays of birth weights for mono and multi births
mono_birth_weight = birth_weight[____]
multi_birth_weight = ____
# Calculate the mean birth weight for mono birth and multi birth animals
print(np.____(mono_birth_weight))
print(np.____(____))