如何在 Igraph Python 中将边权重移动到顶点权重
How do I move the edge weights to Vertex weights in Igraph Python
我有一个 igraph.Graph
对象,其边具有权重。对于每个顶点,我想总结相邻边的权重并将其分配给一个新的顶点属性 gg.vs['weight']
.
您可以使用 igraph.Graph
实例的 adjacent
方法获取给定顶点所关联的边的索引。从这里可以直接计算出这些边的权重:
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]
看看 Graph
对象的 strength()
方法 - 它应该完全满足您的需要(即计算给定顶点的入射边的某些边属性的总和,然后将它分配给一个顶点)。
我有一个 igraph.Graph
对象,其边具有权重。对于每个顶点,我想总结相邻边的权重并将其分配给一个新的顶点属性 gg.vs['weight']
.
您可以使用 igraph.Graph
实例的 adjacent
方法获取给定顶点所关联的边的索引。从这里可以直接计算出这些边的权重:
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]
看看 Graph
对象的 strength()
方法 - 它应该完全满足您的需要(即计算给定顶点的入射边的某些边属性的总和,然后将它分配给一个顶点)。