В тот момент, когда я добавляю «вес» узлу, я больше не могу генерировать adjacency_matrix() ? Любые идеи о том, как все еще иметь возможность генерировать его?
In [73]: g2 = nx.Graph()
In [74]: g2.add_path([1,2,3,5,4,3,1,4,3,7,2])
In [75]: nx.adjacency_matrix(g2)
Out[75]:
matrix([[ 0., 1., 1., 1., 0., 0.],
[ 1., 0., 1., 0., 0., 1.],
[ 1., 1., 0., 1., 1., 1.],
[ 1., 0., 1., 0., 1., 0.],
[ 0., 0., 1., 1., 0., 0.],
[ 0., 1., 1., 0., 0., 0.]])
In [76]: g2[3]['weight'] = 5
In [77]: nx.adjacency_matrix(g2)
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-77-532c786b4588> in <module>()
----> 1 nx.adjacency_matrix(g2)
/usr/lib/pymodules/python2.7/networkx/linalg/graphmatrix.pyc in adjacency_matrix(G, nodelist, weight)
144 to_dict_of_dicts
145 """
--> 146 return nx.to_numpy_matrix(G,nodelist=nodelist,weight=weight)
147
148 adj_matrix=adjacency_matrix
/usr/lib/pymodules/python2.7/networkx/convert.pyc in to_numpy_matrix(G, nodelist, dtype, order, multigraph_weight, weight)
522 for v,d in nbrdict.items():
523 try:
--> 524 M[index[u],index[v]]=d.get(weight,1)
525 except KeyError:
526 pass
AttributeError: 'int' object has no attribute 'get'
то же самое касается:
In [79]: nx.adjacency_matrix(g2,weight='weight')