bool掩码
掩出位置为True处的值
从大数据集中抽取出一小部分(e.g.抽取年龄大于40岁的学生)
import numpy as np
a = np.arange(1,10)
#设置掩码
mask = [True,False,True,False,True,False,True,False,True,False]
#如果总括号中放的列表中都是True/False,他就是一个bool掩码
#True的位置会漏出原数字
print(a[mask]) #返回True位置的值[1 3 5 7 9]
示例1
import numpy as np
ary = np.arange(1,10)
print(ary)
#设置掩码
mask = ary % 2 == 0
print(mask) #[False True False True False True False]
print(ary[mask]) #[2 4 6 8],掩出来的数组还是原数组的一部分
ary[mask] = 100 #对掩出来的部分赋值,是修改原数组
print(ary) #[1 100 3 100 5 100 7 100 9]
示例2:输出100以内3或7的倍数
a = np.arange(100)
print(a[(a % 3 == 0) | (a % 7 == 0)])
索引掩码
找出对应下标的元素输出出来
找出对应下标的元素输出出来
a = np.array(67,43,65,97,33,11,99)
mask = [3,6,2,1]
print(a[mask]) #[97,99,65,43]