【问题标题】:Extracting minimum values per row using numpy使用 numpy 提取每行的最小值
【发布时间】:2015-05-31 20:28:38
【问题描述】:

我有一个问题,但在互联网和本网站上都找不到答案。我相信这很容易。假设我有一组 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


    【解决方案1】:

    您只需要指定要取最小值的轴。要找到每一行中的最小值,您需要指定轴 1:

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

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

    【讨论】:

    • 按照你说的做时,我收到一个错误“'list' object has no attribute 'min'”,即 min 不是矩阵的一部分,如果我需要运行任何操作来获取 min ?
    • \\\n import numpy \\\n numpy.miin(numbers,axis=1) 工作
    猜你喜欢
    • 2022-12-12
    • 2014-10-17
    • 1970-01-01
    • 2017-12-15
    • 2021-08-13
    • 2019-05-18
    • 1970-01-01
    • 1970-01-01
    • 2017-03-29
    相关资源
    最近更新 更多