问题描述
在每个指定行中选择三个最大值后,获得最大值的两列的最佳/最短方法是什么
[[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 (将#修改为@)