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

时间:2018-11-14 09:27:20

标签: python networkx

我有一个这样的数据框:

Page1  Page2  Page3  Page4
 A     B      C      D

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

1 个答案:

答案 0 :(得分:2)

假设您的数据框是这样的,

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

http://localhost/mywebsite/public/js/routing?callback=fos.Router.setData