Scipy从文本fi构造网络图

2024-04-26 02:19:35 发布

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

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

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

我需要用SciPy建立这个图的矩阵表示。 现在,我读字典里的所有东西:

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

我的问题是如何从字典移动到numpy数组。或者如果有任何方法可以直接从文本文件读取到numpy数组中,使用numpy.loadtxt文件()? 你知道吗

编辑

所需的格式是表示图形的scipy csr\u矩阵:

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

Tags: 文件方法numpy图形编辑字典格式etc
2条回答

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

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

我不能尝试,但我希望它能帮助你

将字典转换为窗体的数据帧

  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以获取如何将边列表转换为邻接矩阵的示例:

相关问题 更多 >