Как сформировать график для файловых папок с использованием Python - PullRequest
0 голосов
/ 13 сентября 2018

Я хочу сгенерировать граф, используя 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 голосов
/ 13 сентября 2018

Где df,

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

Используйте pandas для генерации списка ребер узлов источника и назначения:

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 с from_pandas_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)

Out: enter image description here

...