Networkx : Konvertieren multigraph in einfachen Graphen mit gewichteten Kanten
Habe ich ein multigraph-Objekt und möchte es konvertieren zu einem einfachen graph-Objekt mit gewichteten Kanten. Ich schaute durch die networkx-Dokumentation und kann nicht scheinen zu finden, eine eingebaute Funktion, um dies zu erreichen. Ich wollte Fragen, ob jemand wüsste, der eine built-in Funktion in networkx, die dieses Ziel erreichen konnte. Ich schaute auf die to_directed() , to_undirected() Funktionen, die jedoch nicht dazu dienen, mein Ziel.
- Hat der multigraph haben gewichtete Kanten? Und wenn ja, Sie möchten, kombinieren Sie die GEWICHTE von der parallelen Kanten in irgendeiner Weise zu bauen, ein graph?
- Ja das ist genau die situation.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hier ist eine Möglichkeit zu schaffen, ein gewichteter graph ein gewichteter multigraph durch die Summe der GEWICHTE:
Einen sehr einfachen Weg, es zu tun ist, nur um Ihren pass multigraph als Eingabe für
Graph
.Dadurch wird eine ungerichtete Graphen multigraph, in dem mehrere Kanten werden verschmolzen in einzelne Kanten. Jedoch, wenn Sie unterschiedliche Attribute für die Kanten, die zusammengeführt, ich weiß nicht, ob es irgendeine Möglichkeit herauszufinden, welche Attribut gehalten wird.
Können Sie igraph-Bibliothek. Download python-extension-Modul von hier:
http://igraph.sourceforge.net/download.html