我有以下表示文本文件中图形的数据:
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
答案 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,以获取有关如何将边缘列表转换为邻接矩阵的示例: