Атрибут [‘mean’] не найден в nx.nodes (networkx для python), есть ли для этого замена?

#python #attributes #networkx #mean

#питон #атрибуты #networkx #означает

Вопрос:

Я попытался использовать 'mean' атрибут узлов графа, где g = nx.Graph() . Когда я ввожу часть кода, включая g.nodes[u]['mean'] , записная книжка jupyter выдала мне сообщение об ошибке:

       5     nodes['mean'] = nodes['total color'] / nodes['pixel count']
      6     for u, v in g.edges():
----> 7         d = g.nodes[u]['mean'] - g.nodes[v]['mean']
      8         g[u][v]['weight'] = np.linalg.norm(d)
      9 

KeyError: 'mean'
 

Кто-нибудь знает, есть ли аналогичная замена для этого устаревшего атрибута? Я также не смог найти список атрибутов в строке. Спасибо!

Комментарии:

1. Не могли бы вы добавить, как вы создаете график и определяете атрибуты?

2. вы могли бы использовать print() , чтобы увидеть, что у вас есть g.nodes[v] , может g.nodes быть, и nodes (которые вы используете в nodes['mean'] = ... ) не являются одинаковыми элементами.

3. Я просто использовал сценарий из «Elegant SciPy: искусство научного питона», написанный Хуаном Нуньесом-Иглесиасом и др. Очевидно, они использовали более старую версию networkx. Мне просто любопытно, что может заменить атрибут ‘mean’ в объекте nx.Graph().

4. По умолчанию узлам не присваиваются никакие атрибуты. Атрибут mean определяется только для узла, если вы каким-то образом присвоили ему значение.