Считать неориентированный граф из списка ребер - PullRequest
0 голосов
/ 18 ноября 2018

У меня проблемы с чтением неориентированного графа из списка ребер. У меня есть список ребер в текстовом файле, как это:

BND IEF 0.943176118
BND LQD 0.885572253
BND TIP 0.83072059
BND TLT 0.897231452
DBC USO 0.885015182

и т.д.

И тогда мой код:

G0 = nx.Graph()

G0 = nx.read_edgelist(place_holder + "edges_for_graph.txt", nodetype = str, data = (('weight', int),))

Но когда я запускаю код, у меня возникает эта проблема:

TypeError: Failed to convert weight data 0.943176118 to type <class 'int'>.

Я попытался изменить txt-файл (с одним пробелом между каждым значением), но он не работает. Кто-нибудь знает, как это исправить, потому что значения int.

1 Ответ

0 голосов
/ 19 ноября 2018

Ну, из фрагмента данных, ваш вес не является целым числом.Вы либо как-то конвертируете их в int, либо вместо этого сохраняете их как float s (вероятно, второе - это то, что вы хотите сделать, так как значения кажутся между 0 и 1).

Для первого способа вы можете предварительно обработать ваш файл, чтобы сбросить веса или преобразовать их в значения 1. Но чтобы просто прочитать их правильно, вы бы использовали ('weight', float) вместо ('weight', int), как в примере здесь .

...