J'ai un objet igraph.Graph
avec des bords ayant des poids. Pour chaque sommet, je veux résumer les poids des arêtes adjacentes et l'affecter à un nouvel attribut de sommet gg.vs['weight']
.Comment puis-je déplacer les poids de bord à poids Vertex dans Igraph Python
1
A
Répondre
2
Jetez un oeil à la méthode strength()
de Graph
objets - il faut faire exactement ce dont vous avez besoin (c.-à calculer la somme d'un attribut de bord pour l'incident arêtes d'un sommet donné et ensuite l'assigner à un sommet).
1
Vous pouvez obtenir les indices des arêtes d'un sommet donné avec la méthode adjacent
de l'instance igraph.Graph
. De là, il est facile de résumer les poids de ces bords:
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]