跨行的求和矩阵而不是求矩阵的位置值?

时间:2017-06-30 15:37:29

标签: python pandas numpy matrix scipy

我的矩阵大小为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

2 个答案:

答案 0 :(得分:1)

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

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

这就是你用scipy获得的

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

答案 1 :(得分:-1)

你的意思是:

{{1}}

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