You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在numpy数组中提取相比其余行元素整体最小的行

实现方案

你之前调用np.min等函数得到每列最小值,是因为没有显式指定聚合的维度参数axis,numpy的聚合类函数默认axis=0(按列计算),按行聚合要指定axis=1。

你的需求本质是先按行计算「整体大小指标」,再筛选出指标最小的对应行,按照你给出的示例,用行元素和作为指标即可实现预期效果,具体代码如下:

import numpy as np

# 构造示例矩阵
A = np.array([
    [7,5,1,2],
    [10,1,3,8],
    [2,2,2,3]
])

# 1. 按行计算元素和(可根据你对「整体最小」的定义替换为其他聚合函数)
row_total = np.sum(A, axis=1)
# 2. 找到整体大小最小的行的索引
min_row_index = np.argmin(row_total)
# 3. 提取对应行
target_row = A[min_row_index]

运行后target_row的结果就是你需要的array([2, 2, 2, 3])。


自定义扩展

如果你对「整体最接近0」的定义有其他要求,可以替换第一步的聚合逻辑:

  • 要计算每行元素绝对值的和:row_total = np.sum(np.abs(A), axis=1)
  • 要计算每行的最大元素(极小化行最大值):row_total = np.max(A, axis=1)
  • 要计算每行的L2范数(平方和开根号):row_total = np.linalg.norm(A, axis=1)

相关函数说明

  • np.sum(axis=):沿指定轴计算数组元素的和,axis=0为按列计算,axis=1为按行计算,axis=None为对所有元素求和
  • np.argmin(axis=):返回数组中最小值对应的索引,沿指定轴计算时返回对应维度的最小值位置

内容的提问来源于stack exchange,提问作者shockwave88

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 03:18:04