如何使用Python形成文件夹图

时间:2018-09-13 12:21:26

标签: python pandas dataframe graph networkx

我正在寻找使用Python(Pandas和Networkx)为文件夹生成图形的方法。到目前为止,我已经设法将数据导入到DataFrame中,其中每一行对应一个文件夹链接,每一列对应一个文件夹:

示例:如果文件夹链接为:C:\ User \ some_folder \ foo \ foo2 \ last_folder

  0     1         2           3     4        5     
0 C    User  some_folder     foo   foo2  last_folder

类似于上面。

什么图形算法可以让我将最后一个元素连接到之前的元素,以及将该元素连接到之前的元素?

1 个答案:

答案 0 :(得分:0)

其中df

   0     1            2    3     4            5
0  C  User  some_folder  foo  foo2  last_folder

使用熊猫生成源节点和目标节点的边缘列表:

df1 = df.stack()[0].to_frame(name='source')    
df1 = df1.assign(dest = df1.shift(-1)).dropna()
print(df1)

输出:

        source         dest
0            C         User
1         User  some_folder
2  some_folder          foo
3          foo         foo2
4         foo2  last_folder

将边缘列表数据帧转换为使用带有from_pandas_edgelist的networkx的图形

import networkx as nx
G = nx.from_pandas_edgelist(df1, 'source','dest')
fig, ax = plt.subplots(figsize=(15,8))
nx.draw_networkx(G, ax = ax)

出: enter image description here