【问题标题】:Is there any function in Networkx that directly generates adjacency list from a table of nodesNetworkx中是否有任何函数可以直接从节点表生成邻接表
【发布时间】:2014-05-02 19:19:14
【问题描述】:

假设一个无向图相邻节点在一个txt文件中给出如下

1 2
1 3
1 4
1 5
2 5
2 6
3 4

我可以通过networkx中的单个函数生成邻接矩阵,如下所示

[0 1 1 1 1 0 ]
[1 0 0 0 1 0 ]
[1 0 0 1 0 0 ]   
[1 0 1 0 0 0 ]
[1 1 0 0 0 0 ]
[0 0 0 0 0 1 ]

【问题讨论】:

  • 第 6 行第 6 列应该是 1 吗?它不在列表中...
  • @user2014111 如果您认为符合您的需求,您可以接受答案...如果是,您还可以获得 +2 声望...

标签: python-2.7 numpy networkx


【解决方案1】:

这不是一个真正的功能,但您可以从文件中读取边缘,然后像这样创建邻接矩阵:

import networkx as nx

G = nx.read_edgelist('list.txt')
A = nx.adjacency_matrix(G)

给了

matrix([[ 0.,  1.,  1.,  1.,  1.,  0.],
        [ 1.,  0.,  0.,  0.,  1.,  0.],
        [ 1.,  0.,  0.,  1.,  0.,  1.],
        [ 1.,  0.,  1.,  0.,  0.,  0.],
        [ 1.,  1.,  0.,  0.,  0.,  0.],
        [ 0.,  0.,  1.,  0.,  0.,  0.]])

【讨论】:

  • 如何读取有向图的边列表你能帮我吗
  • @user2014111 您是否阅读过nx.read_edgelist 的文档? G = nx.read_edgelist('list.txt', create_using=nx.DiGraph())
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-10-19
  • 1970-01-01
  • 2021-01-23
  • 1970-01-01
  • 2019-11-23
  • 1970-01-01
  • 2012-05-25
相关资源
最近更新 更多