시작하기무료로 시작하기

서브그래프 II

이전 연습 문제에서는 이웃 노드를 추출할 노드 목록을 드렸습니다.

이번에는 특정 메타데이터 속성을 가진 노드와 그 이웃을 직접 추출해 보겠습니다. 이는 리스트 컴프리헨션으로 노드를 찾는 방법을 복습하는 데 도움이 될 거예요. 또한, 기존에 작성한 함수들을 조합하는 연습도 하게 됩니다.

이 연습은 강의의 일부입니다

Python으로 시작하는 네트워크 분석

강의 보기

연습 안내

  • 리스트 컴프리헨션을 사용해 메타데이터 'occupation''celebrity'인 노드와 그 이웃을 추출하세요:
    • 리스트 컴프리헨션의 출력 식n이며, 반복 변수nd 두 개입니다. 이터러블T의 노드 목록(메타데이터 포함으로, data=True를 지정하세요)이고, 조건식은 메타데이터 딕셔너리 d'occupation' 키가 'celebrity'와 같은지입니다.
  • 이들을 T_sub라는 새 서브그래프에 담으세요. 다음을 따르세요:
    • 노드를 순회하며 각 노드의 이웃을 계산하고, .union() 메서드를 사용해 이웃들을 노드 집합 nodeset에 추가하세요. 이 마지막 부분은 미리 작성되어 있습니다.
    • T.subgraph() 메서드와 nodeset을 함께 사용해 T_sub를 계산하세요.
  • T_sub를 화면에 그리세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

# Extract the nodes of interest: nodes
nodes = [n for n, d in ____ if ____ == ____]

# Create the set of nodes: nodeset
nodeset = set(nodes)

# Iterate over nodes
for n in ____:

    # Compute the neighbors of n: nbrs
    nbrs = ____

    # Compute the union of nodeset and nbrs: nodeset
    nodeset = nodeset.union(nbrs)

# Compute the subgraph using nodeset: T_sub
T_sub = ____

# Draw T_sub to the screen
____
plt.show()
코드 편집 및 실행