給定一個numpy中的平坦的NxN數組,我希望找到最小值以及它在數組中的偏移量。我已經設法找到最小值,但可以確定偏移量(哪一行和哪一列)?確定numpy中的值的偏移量
在下面的例子中,a = 0.5,我怎麼能從[1,0]或[2,1]知道它是0.5?
from numpy import *
value = 0
NUM_NODE = 5
EDGE = array(zeros((NUM_NODE, NUM_NODE)))
EDGE = [[ 0., 0., 0., 0., 0. ],
[ 0.5, 0., 0., 0., 0. ],
[ 1., 0.5, 0., 0., 0. ],
[ 1.41421356, 1.11803399, 1., 0., 0. ],
[ 1., 1.11803399, 1.41421356, 1., 0. ]]
a = reshape(EDGE, NUM_NODE*NUM_NODE)
print min(filter(lambda x : x > value, a))
來自[1,0]和[2,1]的0.5都是最小值。你在尋找第一個位置還是最後一個位置? – utdemir
是否可以使用此值列出所有偏移量? – twfx
你不能用內置'min'函數,但你可以很容易地編寫一個循環來完成它。添加到我的答案。 – utdemir