有效地:按轴对非对角线元素求和

时间:2015-03-15 21:35:49

标签: python numpy scipy

我有一个矩阵,然后我需要在某个轴上求和,忽略对角元素。对此有什么有效的方法?

例如,点击

>>> transitionE
array([[ 0.883,  0.117,  0.   ,  0.   ,  0.   ],
       [ 0.045,  0.868,  0.087,  0.   ,  0.   ],
       [ 0.   ,  0.063,  0.874,  0.063,  0.   ],
       [ 0.   ,  0.   ,  0.087,  0.868,  0.045],
       [ 0.   ,  0.   ,  0.   ,  0.117,  0.883]])

我现在正在做的是

>>> transitionE.sum(axis=1) - transitionE.diagonal()
array([ 0.117,  0.132,  0.126,  0.132,  0.117])

您不能依赖某些单元格中的0。有没有更有效的方法来执行此操作?

0 个答案:

没有答案