如何使用Numpy对任意矩阵逐行计算元素平方和并输出为行矩阵
Numpy实现按行平方求和的通用方法
你需要的运算本质是对二维矩阵的每一行执行「元素逐位平方后求和」,最终将所有行的计算结果汇总为一个数组输出。
通用实现代码
import numpy as np def row_square_sum(matrix): # matrix为输入的numpy二维数组格式的矩阵 # axis=1指定按行求和,keepdims=False输出一维数组,如需1×M的行向量可改为True return np.sum(matrix ** 2, axis=1, keepdims=False)
效果验证
测试案例1(3行2列矩阵)
输入矩阵:
[[a b] [c d] [e f]]
调用函数后输出为:
[a²+b², c²+d², e²+f²]
代码测试示例:
test1 = np.array([[1,2],[3,4],[5,6]]) print(row_square_sum(test1)) # 输出 [ 5 25 61]
测试案例2(4行3列矩阵)
输入矩阵:
[[a b c] [d e f] [g h i] [j k l]]
调用函数后输出为:
[a²+b²+c², d²+e²+f², g²+h²+i², j²+k²+l²]
代码测试示例:
test2 = np.array([[1,2,3],[4,5,6],[7,8,9],[10,11,12]]) print(row_square_sum(test2)) # 输出 [ 14 77 194 365]
适配说明
该实现不需要额外调整参数,可直接适配任意M行N列的二维矩阵输入。
内容的提问来源于stack exchange,提问作者MR_R0B0T
相关产品推荐
相关产品推荐

