1 NumPy基础之布尔索引
NumPy数组的布尔索引是指用一个由布尔值组成的数组来作为索引,此布尔数组的长度必须跟被索引的轴的长度一致。布尔值为True对应的元素被保留,为False对应的元素被舍弃。
1.1 布尔数组
布尔数组可以是布尔值组成布尔列表,也可以是数组的矢量运算生成的布尔数组。
>>> import numpy as np
>>> ar1=np.arange(6)
>>> ar1
array([0, 1, 2, 3, 4, 5])
# 创建一个布尔值组成的列表
>>> ar2=[True,False,True,False,True,False]
# 布尔值列表作为索引
>>> ar1[ar2]
array([0, 2, 4])
# 数组矢量运算使得每个元素都参与运算,而不需要循环
>>> ar3=ar1%2==0 # 判断数组每个元素是否为偶数
>>> ar3
array([ True, False, True, False, True, False])
# 布尔索引:用相同长度的布尔数组进行索引
# 获取索引为True的对应元素
>>> ar1[ar3]
array([