如何删除networkx中的节点?

时间:2011-10-17 22:04:22

标签: python graph-theory networkx

我有一个数据集,我正在上传为不同时间段的图表,并尝试计算它们之间的关系。

我想删除所有没有边缘的节点,但我不确定删除或删除节点的命令。知道怎么做吗?

2 个答案:

答案 0 :(得分:12)

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

要删除多个节点,还有Graph.remove_nodes_from()方法。

答案 1 :(得分:3)

Documentation涵盖了它。

  

Graph.remove_node(n):删除节点n。

     

Graph.remove_nodes_from(nodes):删除多个节点。

例如:

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]