Ich lerne Python-igraph und habe Schwierigkeiten bei der Verarbeitung eines Graphen, der in Komponenten unterteilt ist (die nicht miteinander verbunden sind). Wenn ich einen der Clustering-Algorithmen auf dieses Diagramm anwende, scheint es nicht richtig zu funktionieren, und deshalb muss ich die Algorithmen separat auf jeden Untergraphen (Komponente) anwenden. Um also die Identifizierung der Scheitelpunkte beizubehalten, möchte ich ein Scheitelpunktattribut hinzufügen, das mir die ID-Nummer im ursprünglichen Graphen gibt. Mein Graph wird aus einer weighted adjacency Matrix aufgebaut:Hinzufügen von Scheitelpunktattributen zu einem gewichteten Graphen in Python
import numpy as np
import igraph
def symmetrize(a):
return a + a.T - 2*np.diag(a.diagonal())
A = symmetrize(np.random.random((100,100)))
G = igraph.Graph.Adjacency(A.tolist(),attr="weight",mode="UPPER")
Ich sehe, dass es eine Möglichkeit, vertex attributes hinzuzufügen sein sollte, aber ich verstehe nicht, wie es zu benutzen ..