2017-02-11 170 views
1

我尝试从文件,扩展名为.dat,其中数据看起来像的Python:从文件中读取与networkx

0 1 1 1 1 1 
1 0 1 1 1 1 
1 1 0 1 1 1 
1 1 1 0 1 1 
1 1 1 1 0 1 
1 1 1 1 1 0 

阅读邻接矩阵邻接矩阵(这只是文件的一部分,有128个字符串)。 我用networkx读取文件和下一步的操作,但看完之后我用

g = nx.read_adjlist("adjacency_matrix/Cont_matr-1.dat") 
print(g.number_of_nodes()) 

我得到2。 但是这个数字超过2。 也许这是阅读文件的错误方式?

回答

3

您正在将它作为邻接列表来读取,而不是邻接矩阵。所以它只是将每行的前两个条目看作节点。

所以第一行被解释为介于0和1之间的边缘(附加了额外的信息)。第二行被解释为在1和0之间的边缘的第三行是1和1之间的边缘等等

您可以将基质转换成numpy的矩阵,然后使用from_numpy_matrix中读取它。

+0

谢谢!现在没关系) –