Networkx二部图:具有相同编号的不同集合的节点

2024-09-29 17:15:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我在用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

基本上,如果属于不同集合的两个节点具有相同的数量,则会出现许多混淆,尤其是在假设的单模式投影方面。在


Tags: csv代码innetworkxid列表forindex
1条回答
网友
1楼 · 发布于 2024-09-29 17:15:36

原因是图按节点的名称存储节点。在

如果它通过名称3进入一个节点,并认为是bipartite=1,然后再加上3,它将其解释为同一个节点。如果这次告诉它bipartite=0,它将覆盖旧的条目。所以现在,节点3有{}。在

如果要存储两个不同的节点3,那么它们必须具有不同的名称。您可以尝试将其作为字符串:'3a''3b'。或任何其他名称,但3和{}将不起作用。在

相关问题 更多 >

    热门问题