是否可以将最大的numpy数组偏移量转换为元组?
例如,如果“数组”为:
[[1 2 3 6 8],
[2 4 1 1 0],
[0 0 0 20 0]]
然后np.max(array)将返回20,它的位置/偏移量是array [2] [3]。
是否可以将array [2] [3]转换为元组=(2,3)?
谢谢您的输入。
答案 0 :(得分:3)
您正在寻找unravel_index和argmax
import numpy as np
a = np.array([[1 2 3 6 8],
[2 4 1 1 0],
[0 0 0 20 0]])
np.unravel_index( a.argmax() , a.shape)
答案 1 :(得分:1)
要查找所有最大值指数:
np.argwhere(np.max(a) == a)
# array([[2, 3]])
然后您可以获得第一个最大值索引:
np.argwhere(np.max(a) == a)[0]
# array([2, 3])
并根据需要将其转换为元组:
tuple(np.argwhere(np.max(a) == a)[0])
# (2, 3)