Numpy布尔数组索引

布尔数组索引: 布尔数组索引允许选择数组的任意元素。通常,这种类型的索引用于选择满足某些条件的数组元素。下面是一个例子:

import numpy as np

a = np.array([[1,2], [3, 4], [5, 6]])

# 找出a中大于2的元素;这将返回一个与a相同形状的布尔值的numpy数组,其中的bool_idx的每个槽将告诉a的元素是否为> 2。
bool_idx = (a > 2)

print(bool_idx)      # Prints "[[False False]
                     #          [ True  True]
                     #          [ True  True]]"

# 可以使用布尔数组索引来构造一个秩为1的数组,该数组由与bool_idx的真值相对应的a元素组成
print(a[bool_idx])  # Prints "[3 4 5 6]"

# 可以直接使用一条简单的语句完成上述所有操作:
print(a[a > 2])     # Prints "[3 4 5 6]"

你可能感兴趣的