寻找N个Numpy矩阵中的最小值?

时间:2019-10-17 09:50:11

标签: python arrays numpy

我想逐个查找N个NumPy矩阵的最小值(但要稍作改动,直到最后阅读)。为了显示,我创建了3个numpy矩阵,如下所示:

>>> 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]])

除了输出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]])

我更喜欢基于 no-loops 的numpy方法。

1 个答案:

答案 0 :(得分:1)

要找到最小数量:

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

及其起源:

m = np.argmin([a, b, c], axis=0)
相关问题