将选择的整数值分配给 0 和 1 以外的布尔值中的 True / False 值

Assign integer value of choice to True / False values in a boolean other than 0 and 1

是否可以将默认值 1 和 0 以外的整数/浮点值分配给数组中的布尔值 TrueFalse

据我所知,

默认情况下 True 转换为 1,False 转换为 0。但是,当我尝试从二维数组 dtype=bool 将 '5.0' 分配给 True 时,输出仍然给出 True 而不是分配的整数值

#main_arr is a 3d array
main_arr = self.predictor(image)["instances"].pred_masks
#Taking the slice from 3d array based on 1st dimension
arr = np.asarray(main_arr[0,:,:])
#finding the non zero elements
row, col = np.nonzero(arr)
#assigning values to non zero elements
arr[row, col] = 5.0
print("The Non Zero value of element is :", arr[row[0]][col[0]])

输出仍然是True

The Non Zero value of element is : True

而我希望看到类似

的内容
The Non Zero value of element is : 5.0

由于 arrdtype 是布尔值,当您在该数组中进行赋值时,它会被转换为匹配 dtype。您需要一个具有适当 dtype 的数组来执行此操作:

arr = arr.astype(np.float64)
arr[row, col] = 5.0