来自真实信息网络数据集的邻接矩阵

时间:2017-06-07 18:40:49

标签: python python-2.7 graph dataset

这是大数据集(csv格式)的示例照片。我想从这个数据集创建一个邻接矩阵。我尝试了很多方法,包括尝试cytoscape(一个网络工具http://www.cytoscape.org/)但输出矩阵有错误。我无法找到任何好的资源。

enter image description here

这是我写的代码:

def adjmat():

import numpy as np

data = np.loadtxt('rawdata.csv', dtype='int', delimiter=',')
data = np.transpose(data)
row1 = data[0]
row2 = data[1]
n=0
n1=0
n2=0
row=0
col=0


n1=max(row1)
n2=max(row2)

if n1>n2:

    G=np.zeros((n1,n1))
    n=n1
else:
        G=np.zeros(n2,n2)
        n=n2




for i in range(0,len(row1)):

    row=row1[i]
    col=row2[i]
    G[row-1][col-1]=1

return G

X = adjmat()

有没有比这更好的方法?

1 个答案:

答案 0 :(得分:0)

def adjmat():
    print 'begin creating adjen mat'
    data = sc.loadtxt('rawdata.csv', dtype='str', delimiter=',')
    data = sc.transpose(data)
    row1 = data[0].astype(int)
    row2 = data[1].astype(int)
    n=0
    n1=0
    n2=0


    n1=max(row1)
    n2=max(row2)

    if n1>n2:

        Amat=sc.zeros((n1,n1))
        n=n1


    else:
        Amat=sc.zeros((n2,n2))
        n=n2


    for i in range(0,len(row1)):

        row=row1[i]
        col=row2[i]

        Amat[row-1][col-1]=1


    return Amat

这就是我创建矩阵的方法。我已经将它用于多达30000个节点的图形。希望它有所帮助。