Scipy从文本文件构造网络图

时间:2018-11-09 15:25:50

标签: python numpy graph scipy

我有以下表示文本文件中图形的数据:

     a,b,1
     a,c,2
     b,c,1
     etc..

我需要使用SciPy构建此图的矩阵表示形式。 现在,我在字典中阅读了所有内容:

graph = { "a" : [("b",1), ("c",2)],
          "b" : [("b",1)]
        }

我的问题是如何从字典移至numpy数组。还是可以使用numpy.loadtxt()从文本文件直接读取到numpy数组中?

修改

所需格式是代表图形的sspy csr_matrix:

  a b c
a 0 1 2
b 0 0 1
c 0 0 0

2 个答案:

答案 0 :(得分:0)

如果要将字典转换为numpy数组,可以轻松使用:

import numpy as np
array = np.array(list(graph.items()))

我无法尝试,但我希望它能为您提供帮助

答案 1 :(得分:0)

要将字典转换为

格式的数据框
  a b c
a 0 1 2
b 0 0 1
c 0 0 0

您可以将正确格式的字典提供给构造函数。它接受字典。

graph = { "a" : [0, 0, 0],
          "b" : [1, 0, 0],
          "c" : [2, 1, 0]
        }

import pandas as pd
my_df = pd.DataFrame(graph)

此外,请查看here,以获取有关如何将边缘列表转换为邻接矩阵的示例: