Не могу получить широту узла networkx
У меня есть график networkx, который был импортирован из OpenStreetMap. Узлы имеют идентификатор узла, широту и долготу. Я пытаюсь получить доступ к последним двум, но пока безуспешно. Моя лучшая попытка выглядит так:
node.names = graph.nodes() # get the node IDs
latitudes = nx.get_node_attributes(graph, 'lat')
first_node = node_names[0]
latitude latitudes[first_node]['lat']
Nx.get_node_attributes (graph, 'lat') действительно возвращает словарь, состоящий из идентификаторов узлов и широты, но при попытке получить доступ к широте я получаю объект "TypeError: 'float' не подлежит подписке". Кто-нибудь знает, как я могу получить к нему доступ?
1 ответ
Я думаю, что код, который вы представляете, не является тем, что фактически выдает ошибку, потому что в последней строке есть синтаксическая ошибка (я думаю, что отсутствует =
знак).
"TypeError: 'float' object is not subscriptable"
означает, что вы делаете a[x]
потому что ты думаешь a
это список или кортеж или диктат, но на самом деле a
это поплавок, который не может быть подписан с x
,
В предположении (я должен догадаться, так как вы не дали нам сообщение об ошибке), если строка, сообщающая вам проблему, является следующей:
latitudes[first_node]['lat']
затем latitudes[first_node']
это, скорее всего, широта, которую вы ищете.