使用numpy提取每行的最小值

时间:2015-03-27 13:32:01

标签: python numpy matrix row minimum

我有一个问题,我无法在互联网上找到答案,也无法在本网站上找到答案。我相信这很容易。假设我有一组20个数字,我将它们放在5x4矩阵中:

numbers = np.arange(20).reshape(5,4) 

这产生以下矩阵:

[ 0,  1,  2,  3]
[ 4,  5,  6,  7]
[ 8,  9, 10, 11]
[12, 13, 14, 15]
[16, 17, 18, 19]

现在我希望每行的最小值,在这种情况下达到0,4,8,12,16。但是,我想补充一点,对于我的问题,最小值并不总是在第一列,它可以在矩阵中的随机位置(即每行的第一,第二,第三或第四列)。如果有人能够对此有所了解,我们将不胜感激。

1 个答案:

答案 0 :(得分:5)

您只需指定要使用最小值的轴。要查找每行中的最小值,您需要指定轴1:

>>> numbers.min(axis=1)
array([ 0,  4,  8, 12, 16])

对于2D数组,numbers.min()在数组中找到最小值,numbers.min(axis=0)返回每列的最小值,numbers.min(axis=1)返回最小值每行的价值。