如何在networkx中删除节点?
我有一个数据集,我想把它作为图形上传,分析不同时间段之间的关系。
我想删除那些没有连接边的节点,但我不太确定用什么命令来删除这些节点。有没有人知道怎么做?
2 个回答
4
文档里有详细说明。
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]
16
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()
G.remove_node('B')
nx.draw(G)
plt.show()
如果你想一次性删除多个节点,可以使用 Graph.remove_nodes_from() 这个方法。