如何使用Python为文件文件夹生成图形

如何使用Python为文件文件夹生成图形,python,pandas,dataframe,graph,networkx,Python,Pandas,Dataframe,Graph,Networkx,我希望使用Python(Pandas和Networkx)为文件夹生成一个图形。到目前为止,我已经成功地将数据导入到数据框中,其中每一行对应一个文件夹链接,每一列对应一个文件夹: 示例:如果文件夹链接为:C:\User\some\u folder\foo\foo2\last\u folder 0 1 2 3 4 5 0 C User some_folder foo foo2 last_folder

我希望使用Python(Pandas和Networkx)为文件夹生成一个图形。到目前为止,我已经成功地将数据导入到数据框中,其中每一行对应一个文件夹链接,每一列对应一个文件夹:

示例:如果文件夹链接为:C:\User\some\u folder\foo\foo2\last\u folder

  0     1         2           3     4        5     
0 C    User  some_folder     foo   foo2  last_folder
它看起来就像上面的一样

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

其中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
使用networkx将edgelist数据帧与来自edgelist的
转换为图形

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)
输出:

但是文件系统结构不会生成图形,而是生成树,如果节点表示文件夹,它的值会是多少?文件夹的名称?那么,如果有两个同名文件夹呢?在进入堆栈溢出之前,您需要准确地考虑您希望最终数据结构的样子,并且当您问这样一个问题时,您需要如何描述该数据结构看起来像是欢迎堆栈溢出。谢谢你的帮助!实际文件包含大约13000行,所以我所做的是从df1=df.stack()[0].to_frame(name='source')中删除了“[0]”,并尝试以这种方式打印,但实际上没有看到任何打印。编辑:我是否删除“[0]”似乎并不重要。我猜plt是matplotlib.pyplot?将其限制为10行,并尝试进行绘图,以查看它是否工作正常。使用
df.head().stack()
我在末尾添加了plt.show(),现在我可以看到图表了!再次感谢!