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

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

차례:

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

비디오: [Colab] 구글 드라이브의 Colabortory를 통해 파이썬 데이터 시각화툴(Matplotlib, Seaborn, Altair, Plotly, bokeh) 사용하기 2024
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의 그래프 데이터로 작업하기 - 더미

편집자의 선택

JavaScript에서 HTML 양식 요소에 액세스하는 방법 - 다른 HTML 요소와 마찬가지로

JavaScript에서 HTML 양식 요소에 액세스하는 방법 - 다른 HTML 요소와 마찬가지로

자바 스크립트에서 HTML5 요소와 직접 상호 작용할 수 있습니다. 트릭은 선택한 요소가 지원해야하는 브라우저 및 플랫폼에서 작동하는지 확인하는 것입니다. 이 예제에서는 및 태그를 다음과 같은 솔루션의 일부로 사용하는 방법을 보여줍니다.

CSS 값 정의에 대한 빠른 가이드 구문 - 인형

CSS 값 정의에 대한 빠른 가이드 구문 - 인형

W3C (World Wide Web Consortium)에서 모든 CSS 속성의 구문과 가능한 값을 정의합니다. 정의를 가능한 한 정확하게 만들기 위해 W3C는 CSS 값 정의 구문이라는 공식 시스템을 사용합니다. 정의 구문은 가능한 값을 매우 정확하게 정의하지만 CSS 값 정의 구문을 읽는 중 ...

JavaScript로 동적 HTML 요소를 작성하는 방법 - 더미

JavaScript로 동적 HTML 요소를 작성하는 방법 - 더미

모든 페이지에 대한 특수 효과는 페이지에 동적 HTML 변경 기능을 제공하는 것입니다. 예를 들어 다음 예제와 같이 선택한 요소에 특수 효과를 만들 수 있습니다. function ChangeStyles (event) {// 요소에 대한 참조를 얻습니다. var ThisElement ...

편집자의 선택

Excel 2013 통합 문서의 변경 내용 수락 또는 거부 방법 - 변경 내용 추적을 설정하면 더미

Excel 2013 통합 문서의 변경 내용 수락 또는 거부 방법 - 변경 내용 추적을 설정하면 더미

Excel 2013 통합 문서의 경우 리본의 검토 탭에있는 변경 내용 추적 명령 단추의 드롭 다운 메뉴에서 Alt / RGC를 눌러 변경 내용 적용 / 거부 옵션을 선택하여 수락 또는 거부 할 변경 내용을 결정할 수 있습니다. 이렇게하면 Excel이 강조 표시된 모든 변경 내용을 검토합니다 ...

Excel에서 셀에 설명을 추가하는 방법 2016 - 문자

Excel에서 셀에 설명을 추가하는 방법 2016 - 문자

Excel 2016 워크 시트의 특정 셀에 주석을 달 수 있습니다. 댓글은 스티커 메모의 전자 팝업 버전과 유사합니다. 셀에 주석을 추가하려면 다음과 같이하십시오. 셀 포인터를 이동하거나 주석을 추가 할 셀을 클릭하십시오. 새 주석을 클릭하십시오.

Excel 피벗 테이블에 계산 된 필드를 추가하는 방법 - 더미

Excel 피벗 테이블에 계산 된 필드를 추가하는 방법 - 더미

피벗 테이블 내부의 값을 계산합니다. 계산 된 필드 및 항목을 표에 추가 할 수 있습니다. 계산 된 필드를 추가하면 새로운 행이나 열을 피벗 테이블에 삽입 한 다음 수식을 사용하여 새 행이나 열을 채울 수 있습니다. 예를 들어 다음과 같이 나타납니다.

편집자의 선택

포토샵 CS6에서 히스토리 기능으로 채우기를 사용하는 방법 - 더미

포토샵 CS6에서 히스토리 기능으로 채우기를 사용하는 방법 - 더미

채우기 Adobe Photoshop의 기능 Creative Suite 6는 선택을 원할 때 유용합니다. 특정 상태로 바꿀 영역을 쉽게 선택할 수 있으면 기록으로 채우기 기능을 사용할 수 있습니다. 특정 이미지에서 하늘이 마음에 들지 않는다고 가정 해보십시오. 선택한 항목 ...

Photoshop CS6에서 패싯 필터를 사용하는 방법 -

Photoshop CS6에서 패싯 필터를 사용하는 방법 -

Photoshop CS6의 이미지는 먼지와 스크래치를 줄이거 나 날카로운 모서리를 부드럽게하는 것입니다. 패싯 필터는 포스터 라이징 효과를 사용하여 이미지를 분할합니다. Photoshop CS6에서 이미지를 흐리게 처리하려는 한 가지 이유는 먼지 및 스크래치를 줄이거 나 밝기를 비슷하게하는 픽셀 블록을 모아서 기하학적 모양을 사용하여 단일 값으로 변환하기 때문입니다.

Photoshop CS6에서 손 도구 사용 방법 - 인형

Photoshop CS6에서 손 도구 사용 방법 - 인형

Photoshop CS6 손 도구는 이미지 문서에서 빠르게 이동하고 스크롤 막대와 유사하게 작업하여 작업을보다 신속하게 수행 할 수 있습니다. 손 도구는 손 도구를 클릭 할 필요가 거의 없기 때문에 실제 도구보다 기능이 더 많습니다. 간단히 ...