我有一个igraph.Graph
对象,边缘有权重。对于每个顶点,我想总结相邻边的权重,并将其分配给新的顶点属性gg.vs['weight']
。
答案 0 :(得分:2)
看看strength()
对象的Graph
方法 - 它应该完全符合您的需要(即计算给定顶点的入射边缘的某些边缘属性的总和,然后分配它到顶点)。
答案 1 :(得分:1)
您可以使用adjacent
实例的igraph.Graph
方法获取给定顶点的边缘索引。从这里可以直接对这些边的权重求和:
import igraph
g = igraph.Graph.Barabasi(n = 10, m = 3)
g.es['weight'] = range(g.ecount())
g.vs['weight'] = [sum(g.es[eid]['weight']
for eid in g.adjacent(v.index, mode = 'ALL'))
for v in g.vs]