Нахождение минимума из N матриц? - PullRequest
0 голосов
/ 17 октября 2019

Я хочу найти минимум N NumPy матриц поэлементно (но с изюминкой, читать до конца). Чтобы показать, я создаю 3 пустые матрицы следующим образом:

>>> a = np.random.randint(100, size=(3,3))
>>> b = np.random.randint(100, size=(3,3))
>>> c = np.random.randint(100, size=(3,3))
>>> a
array([[79,  7, 71],
       [14, 34, 68],
       [98, 97,  6]])
>>> b
array([[28, 25, 95],
       [69, 46, 39],
       [90, 11, 21]])
>>> c
array([[56,  3, 67],
       [44, 41, 44],
       [66, 25, 42]])

I, за исключением того, что мой вывод d будет:

d = array([[28,  3, 67],
         [14, 34, 39],
         [66, 11,  6]])

Мне также нужно сохранить информацию, откудакаждый элемент в матрице d берется из. Поэтому, если я маркирую a, b, c как класс 0, 1, 2. В конце мне нужно иметь m матрицу, подобную этой:

m = array([[1, 2, 2],
           [0, 0, 1],
           [2, 1, 0]])

Я предпочитаю без циклов На основе NumPy подход.

1 Ответ

1 голос
/ 17 октября 2019

Чтобы найти минимальные числа:

d = np.min([a, b, c], axis=0)

И их происхождение:

m = np.argmin([a, b, c], axis=0)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...