我正在寻找使用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
类似于上面。
什么图形算法可以让我将最后一个元素连接到之前的元素,以及将该元素连接到之前的元素?
答案 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)