来自 Pandas 的 Networkx 图,其节点的边缘不连接其他节点和没有边缘的节点

时间:2021-03-11 21:21:22

标签: python pandas networkx

我正在开发一个显示系统之间数据流的网络图。网络仍在建设中,但目标是可视化数据流。在下面的示例中,您可以看到源系统、目标系统和有效负载项。空值是有目的的,因为部分网络仍在建设中。我希望能够捕获断开连接的节点(即源系统 Charlie)和不完整的数据流(即源系统 Foxtrot 和目标系统 Delta)。

<头>
来源 有效载荷 目标
阿尔法 加油
加油 查理
增量
回声 阿尔法
狐步 帽子

到目前为止我开发的内容为 null 创建了一个节点作为空字符串。示例代码

df = pd.read_csv('X.csv',keep_default_na=False)

G = nx.from_pandas_edgelist(df=df, source='SOURCE',target='TARGET', edge_attr=True, create_using=nx.MultiDiGraph())

nx.draw(G, with_labels=True)
plt.show()

Current Network Graph Output

我希望 Delta 和 Foxtrot 成为断开连接的节点。我还希望 Edges 带有 Payload 的标签,但这很好。

1 个答案:

答案 0 :(得分:1)

您可以使用

从图中删除空字符串节点

G.remove_node('')

这也会从空字符串节点中删除边。

现在节点 DeltaFoxtrot 已断开连接。

enter image description here