Networkx无法解析文件中的所有网络边缘

时间:2017-12-09 19:35:03

标签: python graph networkx

我有一个包含3列的文件。第一列和第二列显示边缘,第三列是边缘的符号(重量)。该文件有450行,所以我认为我必须有450条边。 我使用以下代码使用networkx解析边缘:

G = nx.read_edgelist('myfile.txt', delimiter='\t', nodetype=int, data=(('sign', int),))

并且i使用以下代码打印图形边缘的数量:

n1 = nx.number_of_nodes(G)
n2 = nx.number_of_edges(G)
print("nodes: ", n1)
print("edges: ", n2)

并且结果是边缘少于450.为什么我得到这个结果?解析有什么问题吗?

1 个答案:

答案 0 :(得分:2)

很难确定,因为你没有提供Minimal, Complete, and Verifiable example,但我认为最可能的解释是相同的边缘被添加两次(可能是节点顺序已切换)

默认情况下,networkx使用无向图。因此,u - v边缘和v - u边缘是相同的。如果您尝试添加已存在的边缘,它根本不执行任何操作。类似地,不允许从节点到其自身的边缘。要使用其他图表类型,您需要为create_using设置read_edgelist选项。