简体   繁体   English

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

[英]adjacency matrix from real information network dataset

This is the sample photo of the large dataset(csv format).I want to create an adjacency matrix from this dataset.I have tried lot of ways including trying cytoscape(a web tool http://www.cytoscape.org/ ) but the output matrix has errors.I am unable to find any good resources for it. 这是大数据集(csv格式)的示例照片。我想从这个数据集创建一个邻接矩阵。我已经尝试了很多方法,包括尝试cytoscape(一个网络工具http://www.cytoscape.org/ )但是输出矩阵有错误。我无法找到任何好的资源。

在此输入图像描述

This is the code I have written: 这是我写的代码:

def adjmat(): 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() X = adjmat()

Is there a better way than this? 有比这更好的方法吗?

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

This is how I create the matrix.I have used it for graphs upto 30000 nodes.Hope it helps. 这就是我创建矩阵的方法。我已经将它用于最多30000个节点的图形。希望它有所帮助。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM