Frage

Ich habe einen Datensatz, den ich als Diagramm für verschiedene Zeitrahmen hochladen und versuche, Beziehungen zwischen ihnen zu finden.

Ich möchte alle Knoten löschen, die keine Kanten haben, aber ich bin mir nicht sicher, ob der Befehl zum Entfernen oder Löschen von Knoten. Irgendeine Idee, wie man das macht?

War es hilfreich?

Lösung

import networkx as nx
import matplotlib.pyplot as plt

G=nx.Graph()
G.add_edges_from([('A','B'),('A','C'),('B','D'),('C','D')])
nx.draw(G)
plt.show()

enter image description here

G.remove_node('B')
nx.draw(G)
plt.show()

enter image description here

Um mehrere Knoten zu entfernen, gibt es auch die Graph.remove_nodes_from () Methode.

Andere Tipps

Dokumentation deckt es ab.

Graph.remove_node (n): den Knoten n entfernen.

Graph.remove_nodes_from (Knoten): Mehrere Knoten entfernen.

Zum Beispiel:

In : G=networkx.Graph()

In : G.add_nodes_from([1,2,3])

In : G.nodes()
Out: [1, 2, 3]

In : G.remove_node(2)

In : G.nodes()
Out: [1, 3]
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top