微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用pandas或numpy计算真阳性的出现?

我有两个专栏,预测和地面真相.
我想用numpy或pandas作为一个系列获得真正积极的数量.

例如,我的数据是:

Prediction GroundTruth
True       True
True       False
True       True
False      True
False      False
True       True

我想要一个应该具有以下输出的列表:

tp_list = [1,1,2,2,2,3]

在numpy或pandas中有这样的单行方式吗?

目前,这是我的解决方案:

tp = 0
for p, g in zip(data.Prediction, data.GroundTruth):
  if p and g: # TP case
    tp = tp + 1
  tp_list.append(tp)

解决方法:

要获得真阳性的运行计数(即累积和),即当且仅当GroundTruth == True时,预测==真,解决方案是@RafaelC答案的修改

(df['Prediction'] & df['GroundTruth']).cumsum()
0    1
1    1
2    2
3    2
4    2
5    3

(df['Prediction'] & df['GroundTruth']).cumsum().tolist()
[1, 1, 2, 2, 2, 3]

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐