python返回数组的索引和位置的区别

给定数组

import numpy as np
A = np.array([[1,2],[3,4]])

如果想要找到最大值可以使用

max_A = np.max(A)

进一步,如果想要得到最大值所在的位置,根据英语,感觉argmax就可以做到

A.argmax(max_A)
#>>> 3

返回值是3,这是由于在python存储数组时可以理解为存成一个列向量加上一个形状,所以直接使用index返回的索引就是展开成列向量数的位置。
我们希望它返回的值是[1,1]
这个时候就需要用到where了

np.where(A == np.max(A))

其中A == np.max(A)返回的是一个mask,结合where就可以解决问题了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。