如何在numpy数组中逐轴查找最小值/最大值


问题内容

我有一个NumPy数组,其形状为(3,1,2)

A=np.array([[[1,4]],
            [[2,5]],
            [[3,2]]]).

我想在每一列中获取最小值。

在这种情况下,它们是1和2。我尝试使用np.amin它,但是它返回一个数组,这不是我想要的。有没有一种方法可以在不使用循环的情况下仅用一两行python代码就能做到这一点?


问题答案:

您可以指定axis作为numpy.min功能的参数。

In [10]: A=np.array([[[1,4]],
                [[2,5]],
                [[3,6]]])

In [11]: np.min(A)
Out[11]: 1

In [12]: np.min(A, axis=0)
Out[12]: array([[1, 4]])

In [13]: np.min(A, axis=1)
Out[13]: 
array([[1, 4],
       [2, 5],
       [3, 6]])

In [14]: np.min(A, axis=2)
Out[14]: 
array([[1],
       [2],
       [3]])