Filtrování polí pomocí booleovského indexování
Pole lze indexovat také pomocí booleovského indexování. Vytvoříš booleovské pole, kde hodnoty True označují indexy, které chceš zachovat, a tím pole vyfiltrujeme. Zvlášť užitečné je to tehdy, když chceš filtrovat jedno pole podle hodnot v jiném poli.
V tomto cvičení prozkoumáš, jak se porodní hmotnost liší u zvířat, která mívají obvykle jedno mládě na vrh, oproti těm, která mívají více. Do tvého pracovního prostředí jsou načtena dvě NumPy pole spolu s balíčkem NumPy jako np.
litter_sizeje průměrná velikost vrhu pro každé z více než 1 200 zvířatbirth_weightje odpovídající průměrná porodní hmotnost v gramech pro každé zvíře
Toto cvičení je součástí kurzu
Python pro uživatele MATLABu
Pokyny k cvičení
- Vytvoř booleovská pole
mono_birthsamulti_birthspro zvířata, která typicky mají jedno mládě na vrh, a pro ta, která mají více než jedno. - Vytvoř pole
mono_birth_weightamulti_birth_weightobsahující porodní hmotnosti zvířat s jedním mládětem, resp. s více mláďaty na vrh. - Vypiš průměrnou porodní hmotnost zvířat, která mívají obvykle jedno mládě na vrh, a těch, která mívají více než jedno.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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.____(____))