布林索引

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])