来自 pandas 的 Networkx 图,节点的边不连接其他节点和节点没有边
Networkx graph from pandas with nodes with edges that don't connect other nodes and nodes with no edges
我正在开发一个显示系统间数据流的网络图。该网络仍在建设中,但目标是可视化数据流。在下面的示例中,您可以看到 Source system、Target system 和 Payload 项。空值是有目的的,因为部分网络仍在建设中。我希望能够捕获断开连接的节点(即源系统查理)和不完整的数据流(即源系统 Foxtrot 和目标系统 Delta)。
Source
Payload
Target
Alpha
foo
Bravo
Bravo
bar
Charlie
cat
Delta
Echo
dog
Alpha
Foxtrot
hat
到目前为止,我开发的内容为 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()
我希望 Delta 和 Foxtrot 成为断开连接的节点。我也希望边缘用有效载荷标记,但这是一个很好的选择。
您可以使用
从图中删除空字符串节点
G.remove_node('')
这也会从空字符串节点中删除边。
现在节点 Delta
和 Foxtrot
已断开连接。
我正在开发一个显示系统间数据流的网络图。该网络仍在建设中,但目标是可视化数据流。在下面的示例中,您可以看到 Source system、Target system 和 Payload 项。空值是有目的的,因为部分网络仍在建设中。我希望能够捕获断开连接的节点(即源系统查理)和不完整的数据流(即源系统 Foxtrot 和目标系统 Delta)。
Source | Payload | Target |
---|---|---|
Alpha | foo | Bravo |
Bravo | bar | Charlie |
cat | Delta | |
Echo | dog | Alpha |
Foxtrot | hat |
到目前为止,我开发的内容为 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()
我希望 Delta 和 Foxtrot 成为断开连接的节点。我也希望边缘用有效载荷标记,但这是一个很好的选择。
您可以使用
从图中删除空字符串节点G.remove_node('')
这也会从空字符串节点中删除边。
现在节点 Delta
和 Foxtrot
已断开连接。