python - Numpy在Array中查找最大数字的索引
问题描述
我有一个看起来有点像这样的大型二维 Numpy 数组,我想找到数组中最大数字的索引。
[[0.09911875 0.087047 0.07395894 ... 0.10334793 0.10507131 0.10572167]
[0.09951172 0.08808007 0.07559184 ... 0.0953996 0.09637988 0.09686002]
[0.09908096 0.08856899 0.07680183 ... 0.08633772 0.08709209 0.08753099]
...
[0.16518855 0.1658697 0.16564748 ... 0.16108064 0.15890269 0.15795946]
[0.16250964 0.1616099 0.16255783 ... 0.15931444 0.15753458 0.15655452]
[0.16211866 0.15905266 0.15936445 ... 0.15891747 0.15701842 0.15521818]]
到目前为止,我尝试使用numpy.where()
该函数返回一个坐标元组,但我只能接收一个元组数组,但我想要一个元组,即最高数字的坐标。我也尝试过使用其他 Numpy 方法,例如np.amax
, np.max
,np.where
但没有成功。
为了进一步解释,如果你有一个像这样的小型二维数组。最大的数字是9.99
,最大数字的索引是 (2,2)。
[[2.18, 4.01, 3.49, 1.22]
[2.34, 5.23, 5.11, 4.23]
[1.23, 3.42, 9.99, 6.02]
[2.08, 4.01, 3.49, 1.22]]
解决方案
您可以numpy.argmax
结合使用该方法numpy.unravel
:
这是一个最小的工作示例:
import numpy as np
# create random array
a = np.random.random((8, 8))
# find indexes of the maximum value in this array
np.unravel_index(a.argmax(), a.shape)
# > [4, 3]
推荐阅读
- c++ - C++ 合并链表问题
- mxgraph - 在服务器端将 mxGraphModel XML 转换为 PNG
- kubernetes - Kubernetes 中的 sidecar 与 init 容器
- python - Pandas 样式:条件格式
- jquery - Jquery Datatable 始终只显示最初选中或取消选中的值
- java - keycloak 的 redirect_uri=xxxx:0
- python - 正确查找字符串序列时如何重置计数器
- mysql - MySQL:将 SQL 脚本应用于数据库,错误 1826
- java - Java-C++ 绑定:如何在不崩溃的情况下获取已存储作业的 GetOjectClass?
- c++ - 使用子 C++ 从另一个函数调用父函数