#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
определяется только для узла, если вы каким-то образом присвоили ему значение.