【发布时间】:2020-05-19 08:54:49
【问题描述】:
我有以下数据框:
y proba y_pred
0 1.0 0.637387 1
1 1.0 0.635165 1
2 1.0 0.766586 1
3 1.0 0.724564 1
4 1.0 0.889199 1
..
..
我想比较 y 和 y_pred 以计算 tp=(y=1, y_pred=1), fp=(y=0, y_pred=1), fn=(y=1, y_pred =0),并且 tn=(y=0, y_pred=0)。这是我尝试过的:
tp = 0
fp = 0
fn = 0
tn = 0
if data1['y'] == 1 and data1['y_pred'] == 1:
tp+= 1
elif data1['y'] == 0 and data1['y_pred'] == 1:
fp+= 1
elif data1['y'] == 1 and data1['y_pred'] == 0:
fn+= 1
elif data1['y'] == 0 and data1['y_pred'] == 0:
tn+= 1
但是这段代码会报错:
ValueError:Series 的真值不明确。使用 a.empty、a.bool()、a.item()、a.any() 或 a.all()。
【问题讨论】:
-
其实是一个3列的数据框:y、probe、y_pred
标签: python python-3.x pandas numpy dataframe