Граф дерева графиков из набора данных Pandas в Python - PullRequest
0 голосов
/ 25 апреля 2018

Я пытаюсь построить дерево из кадра данных Pandas, но я не знаю, какую правильную структуру данных я должен использовать и как ее решить.

Набор данных имеет 4 столбца: источник,назначение, приложение и метка времени.

Например, строка в наборе данных может быть:

192.168.1.1 | 192.168.1.200 | ping | 10:00AM 

Я хотел бы построить график дерева, генерирующий узел для каждого из источников, ипоказ смежности каждого источника с пунктами назначения, с которыми он общался, и смежность каждого пункта назначения со всеми приложениями, которые этот пункт назначения использовал с источником, и, наконец, показ смежности каждого листа (источник, пункт назначения, приложение) со всемивременные метки сессий, которые использовали это приложение между этим местом назначения и этим источником.

Не могли бы вы сказать, как мне найти решение Python для этого?

Большое спасибо!

1 Ответ

0 голосов
/ 25 апреля 2018

Вы должны взглянуть на NetworkX :

"NetworkX - это пакет Python для создания, управления и изучения структуры, динамики и функций сложных сетей."

Вы можете передать свой набор данных для заполнения графика, а затем построить график.

Например:

import networkx as nx
import matplotlib.pyplot as plt

G=nx.Graph()
G.add_node('192.168.1.1')
G.add_node('192.168.1.100')
G.add_node('192.168.1.200')
G.add_edge('192.168.1.1', '192.168.1.100', object='10')
G.add_edge('192.168.1.1', '192.168.1.200', object='11')

nx.draw_networkx(G, pos = nx.shell_layout(G))
nx.draw_networkx_edge_labels(G, pos = nx.shell_layout(G))
plt.show()

даст вам: enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...