Импорт фрейма данных Pandas в края Graphviz

Из файла Excel я хочу импортировать информацию о краях через фрейм данных pandas. Я близок к финишу, но добрался до него с небольшой настройкой, что не оптимально.

Graphviz создает ребра с помощью следующей команды, например соединяющий узел «А» и узел «В»

f.edge('0' , '1', label='')

Итак, пока я создаю узлы графиков с помощью следующей команды:

#Create Graph Nodes and interconnecting Edges
for index, row in df.iterrows():
 f.edge(row["Node_ID"], row["Follow_Node"], label='')

Фрейм данных должен включать только буквы узлов и следующих за ними узлов и должен быть преобразован в ребра графа. График я создал успешно. Однако данные узла в файле Excel заключены в одинарные кавычки, потому что Graphviz требует, чтобы в них было помещено имя узла. Эти кавычки появляются на окончательном графике, чего не должно происходить в лучшем случае.

введите здесь описание изображения

Таким образом, одна запись столбца узла Excel выглядит так: '1'. Я хочу иметь возможность просто поставить 1 без кавычек в файле Excel. Однако, когда я удаляю кавычки из файла Excel и соответствующего фрейма данных, Graphviz выдает ошибки. Вы можете увидеть фактическое содержимое фрейма данных ниже:

введите здесь описание изображения

Что может быть потенциальным решением избавиться от кавычек?

Спасибо всем заранее!


person Mike_H    schedule 18.11.2018    source источник


Ответы (1)


Гулял на ночном свежем воздухе. Появился простой ответ:

Я изменил функцию for, чтобы читать данные строки и преобразовывать их в данные строки:

#Create Graph Nodes and interconnecting Edges
for index, row in df.iterrows():
 f.edge(str(row["Node_ID"]), str(row["Follow_Node"]), label='')

Я надеюсь, что смогу помочь другим людям, которые испытывают такие же трудности в будущем. Спасибо всем, кто интересовался моим вопросом!

person Mike_H    schedule 18.11.2018
comment
Всегда приятно Гулять на ночном свежем воздухе. или сделайте что-нибудь другое, и ответ появится. Больше людей так делают. - person albert; 18.11.2018
comment
Ха-ха, спасибо @albert! Иногда нужно сделать шаг назад, чтобы найти очевидное решение. Ваше здоровье. - person Mike_H; 19.11.2018