我在用Networkx构造二部图时遇到了一个大问题。在
我从一个2列的csv中获取节点,比如说
CODINV2;APPLN_ID
1;3
1;4
1;5
2;3
2;6
3;6
4;12
将每个列移到单独的列表中后,存储节点的代码是
^{pr2}$然后添加边(基于csv行):
for index,row in appl.iterrows():
G.add_edge(row['APPLN_ID'], row['CODINV2'])
现在链接实际上被创建了,但是如果我再看一下节点属性,现在很多链接被错误地认为是
bipartite=1
基本上,如果属于不同集合的两个节点具有相同的数量,则会出现许多混淆,尤其是在假设的单模式投影方面。在
原因是图按节点的名称存储节点。在
如果它通过名称}。在
3
进入一个节点,并认为是bipartite=1
,然后再加上3
,它将其解释为同一个节点。如果这次告诉它bipartite=0
,它将覆盖旧的条目。所以现在,节点3
有{如果要存储两个不同的节点}将不起作用。在
3
,那么它们必须具有不同的名称。您可以尝试将其作为字符串:'3a'
和'3b'
。或任何其他名称,但3
和{相关问题 更多 >
编程相关推荐