개인 재정 Python의 그래프 데이터로 작업하기 - 더미

Python의 그래프 데이터로 작업하기 - 더미

차례:

비디오: [Colab] 구글 드라이브의 Colabortory를 통해 파이썬 데이터 시각화툴(Matplotlib, Seaborn, Altair, Plotly, bokeh) 사용하기 2025

비디오: [Colab] 구글 드라이브의 Colabortory를 통해 파이썬 데이터 시각화툴(Matplotlib, Seaborn, Altair, Plotly, bokeh) 사용하기 2025
Anonim

대부분의 데이터 과학자는 어느 시점에서 그래프 데이터로 작업해야합니다. 파이썬은 그 기능을 제공합니다. 하나의 웹 페이지가 하이퍼 링크를 통해 다른 웹 페이지에 연결되는 방식과 같은 다른 데이터 요소에 연결된 데이터 포인트를 상상해보십시오. 이러한 각 데이터 포인트는 노드 입니다. 노드는 링크 를 사용하여 서로 연결합니다.

모든 노드가 다른 모든 노드에 링크되는 것은 아니므로 노드 연결이 중요 해집니다. 노드와 그 링크를 분석하여 거리에서 고속도로를 사용하여 직장에서 집까지 갈 수있는 최상의 방법을 정의하는 등 데이터 과학에서 모든 재미있는 작업을 수행 할 수 있습니다.

인접 행렬 은 그래프의 노드 사이의 연결을 나타냅니다. 한 노드와 다른 노드 사이에 연결이있을 때 행렬은이를 0보다 큰 값으로 나타냅니다. 행렬에서 연결의 정확한 표현은 그래프의 방향 (연결 방향이 중요한 경우) 또는 방향이 없는지 여부에 따라 다릅니다. 많은 온라인 예제의 문제점은 저자가 설명을 위해 간단하게 유지한다는 것입니다. 그러나 실세계 그래프는 대개 거대하며 단순히 시각화를 통해 쉬운 분석을 무시합니다. 작은 교차로를 고려할 때 작은 도시라도 가질 수있는 노드의 수를 생각해보십시오. 다른 많은 그래프는 훨씬 더 크고 단순히보고 있으면 흥미로운 패턴이 드러나지 않습니다. 데이터 과학자들은 인접 행렬 a hairball

을 사용하여 복잡한 그래프를 표현할 때이 문제를 부릅니다.

NetworkX 기본 사용

모든 코드를 처음부터 작성해야하는 경우 그래프 작업이 어려워 질 수 있습니다. 다행히도 Python 용 NetworkX 패키지는 복잡한 네트워크 (또는 그래프)의 구조, 역 동성 및 기능을 손쉽게 만들고 조작하고 연구 할 수있게합니다. 이 패키지를 사용하여 다이 그래프와 멀티 그래프로 작업 할 수도 있습니다.

NetworkX의 주된 강조점은 털볼의 모든 문제를 피하는 것입니다.간단한 호출을 사용하면 그래프 및 인접 행렬을 사용하여 작업하는 복잡성이 크게 줄어 듭니다. 다음 예제는 NetworkX 제공 그래프 중 하나에서 기본 인접성 행렬을 만드는 방법을 보여줍니다.

import networkx를 nx G = nx로 생성합니다. cycle_graph (10) A = nx. adjacency_matrix (G) print (A. todense ())

이 예제는 필요한 패키지를 가져 오기 시작합니다. 그런 다음 cycle_graph () 템플릿을 사용하여 그래프를 만듭니다. 그래프에 10 개의 노드가 있습니다. adjacency_matrix ()를 호출하면 그래프에서 인접성 행렬이 만들어집니다. 마지막 단계는 다음과 같이 출력을 행렬로 출력하는 것입니다. <9 0 0 0 0 0 0 0 0 1> [1 0 1 0 0 0 0 0 0 0] [0 1 0 1 0 0 0 0 0 0] [0 0 1 0 1 0 0 0 0 0] [0 0 0 1 0 1 0 0 0 0] [0 0 0 1 1 0 1 0 0 0] [0 0 0 0 0 1 0 1 0 0] [0 0 0 0 0 1 0 0 0] [0 0 0 0 0 0 0 1 0 1] [1 0 0 0 0 0 0 1 0]]

당신은 테스트 목적으로 처음부터 직접 그래프를 작성하십시오. NetworkX 사이트는 사용할 수있는 여러 표준 그래프 유형을 문서화합니다.이 유형은 모두 IPython에서 사용할 수 있습니다.

그래프를 생성 한 후에 그래프가 어떻게 보이는지 보는 것은 흥미로운 일입니다. 다음 코드는 그래프를 표시합니다.

원본 그래프를 그립니다.

import matplotlib. plpl nx로 pyplot. draw_networkx (G) plt. 플롯은 노드 1과 노드 5 사이에 가장자리를 추가 할 수 있다는 것을 보여줍니다. add_edge () 함수를 사용하여이 작업을 수행하는 데 필요한 코드는 다음과 같습니다.

그래프 추가 플롯. G. add_edge (1, 5) nx. draw_networkx (G) plt. 쇼 ()

Python의 그래프 데이터로 작업하기 - 더미

편집자의 선택

Nikon D3100의 뷰 파인더 대신 모니터 사용 - 많은 최신 dSLR과 같은 인력

Nikon D3100의 뷰 파인더 대신 모니터 사용 - 많은 최신 dSLR과 같은 인력

Nikon D3100은 라이브 뷰를 제공합니다.이 뷰는 사진을 찍을 때 모니터를 뷰 파인더로 사용합니다. 라이브 뷰를 켜는 것은 비디오 촬영 프로세스의 첫 번째 부분이기도합니다. 사실, 동영상을 촬영할 때 뷰 파인더 대신 모니터를 사용해야합니다. 라이브 뷰 사용 ...

을 사용 - Nikon D7000의 라이브 뷰 기능을 사용하여 인물

을 사용 - Nikon D7000의 라이브 뷰 기능을 사용하여 인물

뷰 파인더 대신에 모니터를 사용하여 사진을 구성하십시오. 많은면에서 라이브 뷰 모드에서 사진을 찍는 것은 일반적인 뷰 파인더 촬영과 다르지 않습니다. 그러나 초점을 포함하여 몇 가지 중요한 단계는 라이브 뷰를 전환 할 때 매우 다르게 작동합니다. 기본 사항 ...

편집자의 선택

Photoshop CS6에서 소실점 작업 방법 - Photoshop CS6의 소실점 명령

Photoshop CS6에서 소실점 작업 방법 - Photoshop CS6의 소실점 명령

원근감 평면이있는 이미지에서 사실적인 편집을 할 수 있습니다. 소실점을 사용하면 이미지에서 평면을 지정한 다음 다양한 기법을 사용하여 해당 평면에서 객체를 추가하거나 제거 할 수 있습니다. 편집이 필요한 이미지를 엽니 다. ...

Photoshop CC 픽셀의 측정, 계산 및 분석

Photoshop CC 픽셀의 측정, 계산 및 분석

연구원 및 과학자를 위해 설계된 < Photoshop CC의 측정 기능은 매우 강력합니다. 현미경이나 망원경으로 볼 수있는 기술적 인 이미지의 Whattvers 수를 계산할 수 있습니다. 이미지의 모든 요소의 정확한 크기를 알고 있으면 거의 모든 것을 발견 할 수 있습니다.

편집자의 선택

온라인 커뮤니티가 느리고 꾸준히 승리하는 이유 - 더미

온라인 커뮤니티가 느리고 꾸준히 승리하는 이유 - 더미

온라인 커뮤니티는 정착되지 않았습니다. 잊을 수없는 일. 최선의 시나리오는 꾸준하고 유기적 인 성장을 달성하는 것이지만, 진실은 하룻밤 사이에 발생하지 않는다는 것입니다. 한 번에 소수의 회원 만 있기 때문에 처음에는 좌절 할 수 있으며 고용주는 커뮤니티가 빠르게 성장하고 있다고 생각하지 않을 수도 있지만 진실은 ...

블로그 사이트의 글꼴을 찾는 위치 - 웹상의 많은 장소에서 찾을 수있는 인형

블로그 사이트의 글꼴을 찾는 위치 - 웹상의 많은 장소에서 찾을 수있는 인형

글꼴을 사용하면 최상의 사이트를 찾기가 어려울 수 있습니다. Google Web 글꼴 외에도 다음 목록은 무료 또는 유료로 글꼴을 찾는 데 내가 가장 좋아하는 장소를 알려줍니다. 글꼴 찾기 퀘스트를 진행하면서 친숙해질 필요가 있습니다.

일부 온라인 커뮤니티 회원이 다른 사람보다 오래 머무는 이유 - 인형

일부 온라인 커뮤니티 회원이 다른 사람보다 오래 머무는 이유 - 인형

온라인 커뮤니티가 일시적인 회원을 호스트한다는 것을 이해합니다. 그들은 장기간의 참가자들이지만, 대부분의 회원들은 여러 가지 이유로 잠시 후에 떠납니다. 종종 출발점은 커뮤니티 자체와는 아무런 관련이 없으며 다음 단계로 넘어갈 시간입니다.