Я предполагаю, что membership
- это словарь с узлами в качестве ключей и считается как значение, затем в зависимости от версии networkx, которую вы используете (я использую v2.1), проверьте синтаксис set_node_attributes
, для версия 2. 1, это set_node_attributes(G, values, name=None)
,
так что вы просто делаете
nx.set_node_attributes(G, membership, 'counts')
print G[123]['count']
#output 2
Затем используйте get_node_attributes
для извлечения того же словаря, вот так
attribute_dict = nx.get_node_attributes(G, 'counts')
print attribute_dict[123]
#output : 2
Обновление : если предположить, что membership
является списком отсчетов, то он будет в том же порядке, что и G.nodes()
, поэтому мы можем
node_list = list(G.nodes())
count_dict = { k:v for k,v in zip(node_list,membership)}
затем сделайте
nx.set_node_attributes(G, count_dict, 'counts')