Python:使用networkx从文件中读取邻接矩阵

时间:2017-02-11 19:42:35

标签: python networkx

我尝试从扩展名为.dat的文件中读取邻接矩阵,其中数据类似于

from django.db.models import Q

Model.objects.filter( (Q(status=1) | Q(status=4)) | ( Q(para=param) & Q(status=1) )                             

(它只是文件的一部分,有128个字符串)。 我使用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 来读取文件并进行下一步操作,但在阅读后我使用

networkx

我得到g = nx.read_adjlist("adjacency_matrix/Cont_matr-1.dat") print(g.number_of_nodes()) 。 但这个数字超过2。 也许这是错误的阅读文件的方式?

1 个答案:

答案 0 :(得分:3)

您将其作为邻接列表读取,而不是邻接矩阵。因此,它只关注每行的前两个条目作为节点。

因此,第一行被解释为0到1之间的边缘(附加了额外信息)。第二行被解释为1到0之间的边。第三行是1和1之间的边。等等。

您可以将矩阵转换为numpy矩阵,然后使用from_numpy_matrix将其读入。