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

Numpy给定两个具有值和置信度的数组,创建一个最高置信度值的数组

如何解决Numpy给定两个具有值和置信度的数组,创建一个最高置信度值的数组

我想从最高置信度模型中逐个选择值

vals1 = np.array( [0,11,12,13,14]) # predicted values using method 1
probs1 = np.array([0.9,0.8,0.7,0.6,0.5,0.4,0.3,0.2]) # predicted values using method 1
vals2 = np.array( [0,21,22,23,24]) # predicted values using method 2
probs2 = np.array([0.1,0.2,0.9]) # predicted values using method 2

# Desired result : [0,24]

我可以在循环中逐个进行:

result = np.zeros(vals1.shape[0])
for i in range(vals1.shape[0]):
    result[i] = vals1[i] if probs1[i] > probs2[i] else vals2[i]
return result

选择这种元素的正确的numpy方法是什么?

解决方法

如@HansHirse在评论中所述:

np.where(probs1 > probs2,vals1,vals2)

检查每个元素的条件,如果条件为True,则返回vals1的对应元素,否则返回vals2

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