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

N 个 argmax 列在 M 行的最大值中?

如何解决N 个 argmax 列在 M 行的最大值中?

在每个指定行中选择三个最大值后,获得最大值的两列的最佳/最短方法是什么

  [[0.,0.,0.  ],[0.19,[0.,0.29,[0.42,0.13],[0.12,0.12,[0.13,0.1,0.26],[0.25,0.48],0.21]])

所以第 3、4、5 行的三个最大值是

    In [132]: np.max(ary[[3,4,5],:],axis=1)                                                                                                                                    
    Out[132]: array([0.42,0.13,0.26])

现在我必须选择两个最大值的列:

  In [133]: np.argmax(ary[[3,axis=1)                                                                                                                                 
  Out[133]: array([0,2,2])

在这种情况下是 element[0]=0 和 element[2]=2,忽略 element[1]=2

有没有更快的方法来获得 max-of-max 的 col-ixs ?

似乎没有直接的 argmax-max 函数,您必须始终执行 max+argmax(存储中间结果)并再次执行 argmax


这是正确的:

 np.argsort(np.max(ary[[3,axis=1))[::-1][:2]

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