Получить позицию значения в матрице (numpy .float64) - PullRequest
0 голосов
/ 20 февраля 2020

я пытаюсь найти положение в минимальном значении матрицы. Как на картинке. В этом случае минимальное значение равно -35, поэтому мне нужно найти позицию: (2,4). Не имеет значения, получаю ли я ответ в строках или столбцах или начинаю строки и столбцы с 1 или 0.

Я пытался использовать команду np.where(), но не работает. Данные имеют тип numpy .float64.

enter image description here

1 Ответ

1 голос
/ 20 февраля 2020

Это указано в документации для np.argmin и может быть достигнуто с помощью np.unravel_index:

Пример :

import numpy as np

x = np.random.random((5,5))

>>> x                                                                                                                                                                                                              
array([[0.27272346, 0.98320703, 0.60834759, 0.2069243 , 0.90370303],                                                                                                                                               
       [0.87209273, 0.52894458, 0.68152673, 0.25921476, 0.58229599],
       [0.27519671, 0.13970337, 0.57864639, 0.37383134, 0.97409805],
       [0.48481975, 0.19691474, 0.4825715 , 0.91004626, 0.34862765],
       [0.51914768, 0.43313715, 0.2819287 , 0.60615095, 0.12990098]])

>>> np.unravel_index(np.argmin(x, axis=None), x.shape)                                                                                                                                                             
(4, 4)                                                                                                                                                                                                             

Обратите внимание, что также возможно решение np.where:

>>> np.where(x == np.min(x))                                                                                                                                                                                       
(array([4]), array([4]))                                                                                                                                                                                           
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...