布尔索引

arr = np.arange(7)
print(arr)
# Out: array([0, 1, 2, 3, 4, 5, 6])

与标量比较返回一个布尔数组:

arr > 4
# Out: array([False, False, False, False, False,  True,  True], dtype=bool)

此数组可用于索引以仅选择大于 4 的数字:

arr[arr>4]
# Out: array([5, 6])

布尔索引可以在不同的数组之间使用(例如相关的并行数组):

# Two related arrays of same length, i.e. parallel arrays
idxs = np.arange(10)
sqrs = idxs**2

# Retrieve elements from one array using a condition on the other
my_sqrs = sqrs[idxs % 2 == 0]
print(my_sqrs)
# Out: array([0, 4, 16, 36, 64])