Ich habe zwei verschiedene Graphen: g1 und g2. Ich möchte sie zusammenfügen und einige Kanten erstellen. Warum funktioniert das nicht?add_edge in igraph, was zu einer Selbstschleife anstelle einer neuen Kante führt
Ich brauche die versuchen/Ausnahme, weil ein Diagramm nicht die get_tutor_id() -Methode hat. Ich habe auch versucht
def edging_up(g1, g2):
g = g1 + g2
for v in g1.vs:
for w in g2.vs:
if v['name'].get_researcher_id() == w['name'].get_tutor_id():
g.add_edge(v, w)
return g
Dann es funktioniert, sondern eine Kante des Hinzufügens von v nach w, fügt es eine Selbstschleife v. Irgendwelche Ideen? Schätzen Sie es
'' name'' enthält alle Methoden des Python-Klassenobjekts, das ich hinzugefügt habe. Ich habe auch herausgefunden (viel Denken seit gestern), dass wenn ich zwei Graphen (die nicht identisch sind) hinzufüge ich alle Attribute (wie "Name") verliere. Und ich konnte nicht viele Antworten/Hilfe im Internet finden. Meist handelt es sich um Inschriften in R. Soll ich networkx ausprobieren? Danke, –
Wie ich es verstanden habe, behält 'name' den Knoten als ein Python-Objekt mit Zugriff auf alle seine ursprünglichen Methoden und Variablen, richtig? –
Ich meine, in Beispiel 2, ich debugge und ich fand, dass die bedingte Klausel richtig überprüft wird. Nur das add_edge Bit ist fehlerhaft! –