您需要将布尔型蒙版转换
int为
astype:
df['bin_crnn'] = (df['crnn_pred']==df['manual_raw_value']).astype(int)
样品:
df = pd.Dataframe({'crnn_pred':[1,2,5], 'manual_raw_value':[1,8,5]})print (df) crnn_pred manual_raw_value0 1 11 2 82 5 5print (df['crnn_pred']==df['manual_raw_value'])0 True1 False2 Truedtype: booldf['bin_crnn'] = (df['crnn_pred']==df['manual_raw_value']).astype(int)print (df) crnn_pred manual_raw_value bin_crnn0 1 1 11 2 8 02 5 5 1因为比较列的输出不是标量,而是
Series(和
array)
True和
False值,所以会出现错误。
因此需要
all或
any用于返回标量
True或
False。



