使用numpy提取每行最小值

问题描述 投票:4回答:2

我有一个问题,我无法在Internet或此网站上找到答案。我相信这很容易。假设我有一组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。但是,我想补充一点,对于我的问题,最小值并不总是在第一列中,它可以在矩阵中的任意位置(即每一行的第一,第二,第三或第四列)。如果有人可以对此有所了解,将不胜感激。

python numpy matrix row minimum
2个回答
8
投票

您只需要指定要沿其最小的轴即可。要在每一行中找到最小值,您需要指定轴1:

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

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

© www.soinside.com 2019 - 2024. All rights reserved.