每天一个芝士点

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

2020-05-25  本文已影响0人  抄书侠

给定数组

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就可以解决问题了。

上一篇 下一篇

猜你喜欢

热点阅读