使用布尔索引筛选数组
您也可以使用布尔索引来访问数组。先创建一个布尔数组,在需要保留的位置为 True,就能对数组进行筛选。若要根据另一个数组的取值来筛选,这种方式尤其方便。
在本练习中,您将比较倾向于每胎只生一个与每胎生多个的动物,其出生体重的差异。两个 NumPy 数组和 NumPy 包(作为 np)已加载到您的工作区。
litter_size:1200+ 种动物的每胎平均仔数。birth_weight:对应每种动物的平均出生体重(单位:克)。
本练习是课程的一部分
面向 MATLAB 用户的 Python
练习说明
- 分别创建布尔数组
mono_births和multi_births,用于表示通常每胎仅有 1 个后代的动物,以及每胎多于 1 个后代的动物。 - 分别创建数组
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.____(____))