【发布时间】:2016-03-11 01:27:39
【问题描述】:
我有一个形状为(3,1,2) 的 NumPy 数组:
A=np.array([[[1,4]],
[[2,5]],
[[3,2]]]).
我想得到每列的最小值。
在这种情况下,它们是 1 和 2。我尝试使用 np.amin,但它返回一个数组,这不是我想要的。有没有办法在不使用循环的情况下只用一两行 python 代码做到这一点?
【问题讨论】:
我有一个形状为(3,1,2) 的 NumPy 数组:
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]])
【讨论】:
np.min(np.array([[[1,4]],[[2,5]],[[3,2]]]), axis=0) 产生:array([[1, 2]]),这不是你要找的吗?