在实际开发中我们需要将bool值转换成0/1或者其他数值,这里整理了两种方法。
使用np.array().astype(int)
1 | a = np.array([False,True,False]) |
使用np.where()
1 | a = np.array([False,True,False]) |
解释一下np.where
函数:
常见的两种用法:
- 第一种
1
2
3a = np.array([1,2,3,4,5,6])
b = np.where(a > 3) # 返回一个和a大小相同的array,满足条件的位置赋值True,不满足的赋值False
# b = [False,False,False,True,True,True] - 第二种
1
2
3a = np.array([1,2,3,4,5,6])
b = np.where(a>3,1,-1) # 三个参数,第一个是同上面一样的判断条件,第二个:满足判断条件位置的赋值。第三个:不满足条件位置的赋值
# b = [-1,-1,-1,1,1,1]