ブールインデックスによる配列のフィルタリング
配列はブールインデックスでも参照できます。保持したい位置に対応する値を True にしたブール配列を作ることで、配列をフィルタリングできます。これは、ある配列の値に基づいて別の配列を絞り込むときに特に便利です。
この演習では、1回の出産で通常は1匹だけ産む動物と、複数産む動物で出生体重がどう異なるかを調べます。ワークスペースには NumPy パッケージ(np)と、2つの NumPy 配列が読み込まれています。
litter_sizeは、1200種以上の動物それぞれの平均出産数(1回の出産あたりの子の数)です。birth_weightは、各動物に対応する平均出生体重(グラム)です。
この演習はコースの一部です
MATLABユーザーのためのPython
演習の手順
- それぞれ、通常は1匹のみを産む動物と、1匹より多く産む動物を表すブール配列
mono_birthsとmulti_birthsを作成します。 - 単産の動物と多産の動物の出生体重をそれぞれ含む配列
mono_birth_weightとmulti_birth_weightを作成します。 - 通常は1匹のみを産む動物と、1匹より多く産む動物の平均出生体重を出力して確認します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# 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.____(____))