반응형
파이썬 한번이라도 같이 등장한 원소끼리 모으기¶
In [1]:
# 예시
li = [[0, 9],
[0, 16],
[1, 3],
[3, 4],
[16, 7],
[20, 21],
[21, 18],
[9,16],
[9, 0]]
- 숫자간 엣지를 연결
In [3]:
import networkx as nx
G = nx.Graph()
for i in li:
G.add_edge(i[0], i[1])
- 클러스터 확인
In [5]:
degree = nx.degree(G)
nx.draw(G,node_size=[v[1]*100 for v in degree], with_labels=True)
- 독립적인 클러스터에 노드값 확인
In [6]:
G.edges()
for i in nx.connected_components(G):
print(i)
{0, 16, 9, 7} {1, 3, 4} {18, 20, 21}
In [7]:
# 함수화
import networkx as nx
def shared_value(li):
G = nx.Graph()
# 네트워트 에지를 생성하고
for i in li:
G.add_edge(i[0], i[1])
# 단독적인 네트워크만 구분
shared_list = []
G.edges()
for i in nx.connected_components(G):
shared_list.append(i)
return shared_list
In [8]:
result = shared_value(li)
result
Out[8]:
[{0, 7, 9, 16}, {1, 3, 4}, {18, 20, 21}]
반응형
'python' 카테고리의 다른 글
nsmc 다운로드 네이버 영화 리뷰 댓글 샘플데이터 다운로드 (0) | 2023.06.29 |
---|---|
파이썬을 텍스트 데이터 엘라스틱서치 업로드 (0) | 2023.06.27 |
파이썬 자연어 처리 샘플 문서 받아오기 nltk news (0) | 2023.06.27 |
파이썬 딕셔너리 min / max 적용 (0) | 2023.06.25 |
sklearn을 활용하여 아이리스 데이터 분류 모델 만들기 (0) | 2023.06.25 |
댓글