如何用NumPy内置函数找出矩阵中元素和最大的向量?
解决方案
你可以通过两步用NumPy原生优化功能实现需求:
- 计算每一行的元素和,定位出和最大的行的索引
- 根据索引提取对应的行
具体代码如下:
import numpy as np arr = np.array([(1, 2), (6, 0), (3, 3), (5, 4)]) # 计算每行元素和,得到数组 [3, 6, 6, 9] row_sums = np.sum(arr, axis=1) # 找到和最大的行的索引,此处为3 max_index = np.argmax(row_sums) # 提取对应行 result = arr[max_index] print(result) # 输出: [5 4]
也可以简化为一行代码:
result = arr[np.argmax(np.sum(arr, axis=1))]
说明
np.sum(arr, axis=1):指定axis=1会沿行方向求和,生成每个行的元素和数组np.argmax():返回数组中最大值对应的索引位置- 最后通过索引直接提取目标行,这是NumPy原生的高效索引操作,完全利用了其底层优化实现
内容的提问来源于stack exchange,提问作者maticos
相关产品推荐
相关产品推荐

