如何使用networkx表示工作流链?

2024-05-19 18:18:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这样一个数据帧:

Page1  Page2  Page3  Page4
 A     B      C      D

有没有一种方法可以显示页面之间的简单定向流


Tags: 数据方法页面page1定向page2page3page4
1条回答
网友
1楼 · 发布于 2024-05-19 18:18:47

假设您的数据帧是这样的

import pandas as pd
df =pd.DataFrame(['A','B','C','D'], columns=['page'])
print(df.T)
>>>       0  1  2  3
>>> page  A  B  C  D

然后,您需要按顺序迭代页面。networkx有一个助手函数utils.pairwise,您可以使用它,当然还有其他方法可以迭代列表并获取元素(i,i+1):

from networkx import utils

G = nx.DiGraph() # need a directed graph
G.add_edges_from(utils.pairwise(df.page))
print(G.edges())
>>> [('A', 'B'), ('C', 'D'), ('B', 'C')]

nx.draw(G, with_labels=True) # quick/low-effort visualization

graph rendering like this

相关问题 更多 >