Python中如何将布尔列表转换为0/1值的np.array数组?
解决方法
你可以通过类型转换直接把布尔数组转成0/1的数值数组,这里有两种简单的方式:
方法一:使用numpy数组的
astype()方法,直接将布尔类型转为整数类型:import numpy as np preds_int = preds.astype(int)这样原数组里的
True会变成1,False变成0。方法二:使用
np.where()函数进行条件映射:preds_int = np.where(preds, 1, 0)这个函数的逻辑是:当
preds里的元素为True时取1,否则取0。
补充说明
你之前用np.array(preds)或者np.asarray(preds)没效果,是因为preds本身大概率已经是numpy的布尔类型数组了,这两个方法只是把它转换成数组对象(如果原本不是的话),但不会改变元素的类型。所以需要显式指定转换为整数类型才能得到0和1的结果。
内容的提问来源于stack exchange,提问作者frankito
相关产品推荐
相关产品推荐

