2016-05-29 188 views
0

我想使用argwhere函數獲取矩陣中最大值的索引。我用這句法:使用np.argwhere查找矩陣中的最大值

where = np.argwhere(np.argmax(matrix)) 

,其中基質是我使用的基質和我想去的地方是一個元組給了我最大的價值座標。 但是,在打印爲[0],而不是(0,列)作爲我想(ⅰ剛剛得到的行而不是列)

+0

我不認爲你需要的'np.argwhere'電話。單是'np.argmax',是不是給你想要的東西? – farenorth

回答

4

np.argmax(arr)默認返回最大值的索引到扁平陣列arr.ravel()

要獲得arr本身最大值的索引,使用np.unravel_index

In [15]: np.random.seed(2016); arr = np.random.randint(10, size=(2,3)); arr 
Out[15]: 
array([[3, 7, 2], 
     [3, 8, 4]]) 
In [17]: np.argmax(arr) 
Out[17]: 4 
In [18]: np.unravel_index(np.argmax(arr), arr.shape) 
Out[18]: (1, 1) 
+0

正是我需要的! – Eyzuky