import networkx as nx
import numpy as np
G = nx.MultiGraph()
G.add_edges_from([('1', '2'), ('1', '3'),('1','5'),('2','4')])
l= list(nx.non_edges(G))
score=np.array([[0.9,0.7,0.2,0.6,0.4],[0.7,0.9,0.6,0.8,0.3],[0.2,0.6,0.9,0.4,0.7],[0.6,0.8,0.4,0.9,0.3],[0.4,0.3,0.7,0.3,0.9]])
는 I 2-5 정도로 출력이 [것 0.3 점을 가지며, 0.6의 점수 않은 비 에지 1-4 인 스코어 행렬에 기초하여 상기 비 에지 순위 할 1-4,2-5]순위 비 에지
편집 - 내 실제 데이터는 pandas 데이터 프레임 (아래 실제 데이터 세트의 장난감 데이터 세트 예제입니다.)을 networkx 그래프 객체로 변환합니다.
data1 = { 'node1': [1,1,1,2],
'node2': [2,3,5,4],
'weight': [1,1,1,1], }
df1 = pd.DataFrame(data1, columns = ['node1','node2','weight'])
스코어 행렬 요소 스코어 [1,4] 0.6
edit2-
의 점수를 갖는 노드 (1) 및 (4) 사이의 경계를 나타내는 매트릭스 5X5 형태 인 그래프 1에서 누락 된 모서리가 1-4,2-3,2-5,3-4,3-5,3-5이고 각각의 점수가 0.6 0.6 0.3 0.4 0.3 0.7임을 알 수 있습니다. 점수에 따라 점수를 매겨 최종 산출물이 3-5 1-4 2-3 3-4 2-5 4-5
자세한 정보가 도움이 될 것입니다. 1) 그래프에 5 개의 요소가 있다고 가정합니까? 2) 점수 배열의 위치가 그래프의 인접 행렬과 일치합니까? 3) 스코어 배열에서 0.5가 보이지 않습니다 - 어떻게 그 값을 어떤 엣지 (또는 엣지가 아닌)에 할당 할 수 있습니까? – Apollo2020
@ apollo2020 위의 편집 내용을 참조하십시오. –