我尝试从扩展名为.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
。
也许这是错误的阅读文件的方式?
答案 0 :(得分:3)
您将其作为邻接列表读取,而不是邻接矩阵。因此,它只关注每行的前两个条目作为节点。
因此,第一行被解释为0到1之间的边缘(附加了额外信息)。第二行被解释为1到0之间的边。第三行是1和1之间的边。等等。
您可以将矩阵转换为numpy矩阵,然后使用from_numpy_matrix
将其读入。