这是大数据集(csv格式)的示例照片。我想从这个数据集创建一个邻接矩阵。我尝试了很多方法,包括尝试cytoscape(一个网络工具http://www.cytoscape.org/)但输出矩阵有错误。我无法找到任何好的资源。
这是我写的代码:
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()
有没有比这更好的方法?
答案 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个节点的图形。希望它有所帮助。