在实际开发中我们需要将bool值转换成0/1或者其他数值,这里整理了两种方法。

使用np.array().astype(int)

1
2
a = np.array([False,True,False])
int_a = a.astype(int)

使用np.where()

1
2
a = np.array([False,True,False])
a = np.where(a,1,-1) # 得到 a [-1,1,1]

解释一下np.where函数:

常见的两种用法:

  • 第一种
    1
    2
    3
    a = 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
    3
    a = np.array([1,2,3,4,5,6])
    b = np.where(a>3,1,-1) # 三个参数,第一个是同上面一样的判断条件,第二个:满足判断条件位置的赋值。第三个:不满足条件位置的赋值
    # b = [-1,-1,-1,1,1,1]