numpy数组的列表索引是如何工作的?

时间:2017-10-19 15:31:42

标签: python arrays numpy

我有一小段代码,我试图了解如何使用另一个numpy数组作为另一个numpy数组的索引。

bmi = np.array([13,14,15,22])
light = np.array(bmi) < 21
print(bmi[light])

输出:[13,14,15]

据我所知,在处理numpy数组时,事情是按元素完成的,因此我对bmi [light]的假设是它只会在bmi中打印相应的值,其值为true。

1 个答案:

答案 0 :(得分:0)

如果你想打印light,你会得到:

[ True  True  True False]

这是一个布尔掩码。

现在,当您使用print(bmi[light])时,您将bmi过滤为True。

您可以使用~反转该掩码仅获取[22]

print(bmi[~light])

与评论中指出的相同,您可以了解有关布尔屏蔽here的更多信息。