布尔索引
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])