对矩阵行进行求和,而不是对矩阵的位置值求和?

2024-05-16 11:31:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个N×M的矩阵,其中:

matrix_1 = np.array([1, 0, -1, 0])
matrix_2 = np.array([0, 0,  0, 0])
matrix_3 = np.array([1, 0, -1, 0])

通过SciPy执行一个函数后,得到的矩阵等于:

matrix_4 = np.array([2, 0, -2, 0])

我需要矩阵使得矩阵4(结果矩阵)在数组/行之间求和,等于:

matrix_4 = np.array([0, 0, 0])

我试过np.sum([matrix_1, matrix_2, matrix_3], axis = 1)跨行求和,但这会导致我正在使用的SciPy函数出错。你知道吗

MATLAB中的类似问题,供参考:Summing across rows of a matrix instead of columns


Tags: of函数np矩阵scipy数组arraymatrix
2条回答

你是说:

import numpy as np
a = [[1,0],[2,3]]
print(np.sum(a,axis=1)) # gives [1,5]

什么?你知道吗

编辑:我只是理解你的问题。你可以忽略这个

如果我理解正确,这就是你想要的结果:

In [10]: np.vstack((matrix_1,matrix_2,matrix_3)).sum(axis=1)
Out[10]: array([0, 0, 0])

这就是你和西皮的关系

In [11]: np.vstack((matrix_1,matrix_2,matrix_3)).sum(axis=0)
Out[11]: array([ 2,  0, -2,  0])

相关问题 更多 >