2017-01-16 2 views
0

사용 networkx 일반 그래프에서 두 부분으로 구성된 하위 그래프를 생성하려고합니다. 노드 AB의 두 목록을 감안할 때, 내가 먼저 내가 A에서 B에 변경되지 않은 가장자리를 떠나, A의 노드와 다음 B의 노드 사이의 가장자리 사이의 모든 가장자리를 삭제하려면, A + B에 의해 유도 된 서브 그래프를 만들 수 있습니다. 나는 현재 가장자리 삭제를 수행하는 방법에 대해 알지 못합니다.networkx를 사용하여 특정 노드에 공통으로 모든 에지를 검색합니다.

답변

1

나는 가장자리 집합을 사용하여 작업을 해결했다. 주어진 서브 그래프 sub_G

sub_G.remove_edges(set(sub_G.edges(A))^set(sub_G.edges(B))) 
+1

비슷한 문제가있었습니다. 한 노드에서 이웃 노드로 모든 방향성 에지를 지우고 싶었습니다. 나는 사용했다. '''G.remove_edges_from (G.in_edges (이웃, 키 = True))을 설정하고 (G.out_edges (node, keys = True))를 설정했다)''' 고마워. – Raja

관련 문제