python에서 점의 관계 데이터를 어떻게 인접 행렬로 변환합니까?

4487 단어
직접 부호:
import networkx as nx
G = nx.Graph()
path = './node_node_weight.txt'
word_list = []
with open(path,'r') as f:
	for line in f:
		cols = line.strip().split('\t')
		G.add_nodes_from([cols[0],cols[1]])
		G.add_weighted_edges_from([(cols[0], cols[1], float(cols[2]))])
		word_list.append(cols[0])
		#G.add_weighted_edges_from([(cols[1], cols[0], float(cols[2]))])
		word_list.append(cols[1])

nx.write_adjlist(G,'G.adjlist')

node_node_weight.txt의 데이터 형식은 다음과 같습니다: (연결된 노드가 맞고 권한이 있든 없든 상관없습니다)
1022055	902435	1	
902435	773623	1	
773623	681831	1	
681831	603438	1	
603438	1545447	1	
1545447	1358790	1	
1358790	1045344	1	
1045344	927084	1	
927084	814036	1	
814036	702701	1	
702701	620846	1	
620846	464938	1	
464938	294616	1	
294616	131397	1	
131397	66306	1	
66306	100710	1	

얻은 G.adjlist는 다음과 같습니다.
1022055 902435
902435 773623
773623 681831
681831 603438
603438 1545447
1545447 1358790
1358790 1045344
1045344 927084
927084 814036
814036 702701
702701 620846
620846 464938
464938 294616
294616 131397
131397 66306
66306 100710

By the way, 생성edgelist 동리,
nx.write_edgelist(G,'G.edgelist')

좋은 웹페이지 즐겨찾기