我希望你能帮我解决下一个问题
我有一个邻接矩阵作为numpy数组:
np.array([[ 0, 1, 2, 3],
[ 1, 0, 6, 0],
[ 2, 6, 0, 1],
[ 3, 0, 1, 0]])
然后,我想对节点列表之间的边的权重求和,例如:
sum_edeges_between_list([0,1]) = 1 # only one entry, matrix[0,1]
sum_edeges_between_list([0,1,2]) = 9 # sum of three entries, matrix[0,1] + matrix[0,2] + matrix[1,2]
sum_edeges_between_list([0,1,2,3]) = 13 # sum of all entries above main diagonal
我该怎么做
提前感谢
使用一些车载工具和一些切片怎么样
小心:这只取传递的列表的第一个和最后一个元素,并对它们之间的元素求和
灵感来自this answer
可以使用numpy.ix_获取数组的相关部分并计算总和
您可以尝试以下方法:
输出:
相关问题 更多 >
编程相关推荐