파이썬 그래프 라이브러리


354

그래프 데이터 구조를 많이 사용하는 파이썬 응용 프로그램을 작성 중입니다. 끔찍하게 복잡한 것은 없지만 일종의 그래프 / 그래프 알고리즘 라이브러리가 도움이 될 것이라고 생각합니다. 나는 구글을 돌아 다녔지 만 특히 나에게 뛰어 오르는 것을 찾지 못했다.

좋은 추천이 있습니까?


어떤 그래프 알고리즘을 찾고 있습니까?
앤드류

1
Amoss, 주어진 가중치를 가장 짧은 경로를 계산할 수있는 그래프 라이브러리를 찾고있었습니다. 기본 사항입니다. 나는 networkx로 갔다. 꽤 잘 작동합니다. 그래도 한동안 프로젝트를 건드리지 않았습니다. 이 질문은 1 년 전에 요청되었습니다.
cpatrick

108
도움이되는 질문이 있고 이와 같은 투표를 많이받는 것이 "비 건설적"으로 분류 될 수 있다는 것은 놀랍게도 이상합니다.
Jim Raynor

1
neo4j와 같은 "네이티브 그래프 데이터베이스"를 사용하고 파이썬 바인딩을 사용하여 db와 토론 할 수도 있습니다.
스테파니

3
@JimRaynor "건설적이지 않음"은 모두 오래된 캐치였습니다. 가까운 이유가 의도 된 사용법을 더 잘 (완벽하지는 않지만 더 잘) 커버하도록 업데이트되었습니다. 오늘날 이것은 추천 질문으로 마감 될 것입니다.
jpmc26

답변:


237

두 가지 훌륭한 선택이 있습니다 :

NetworkX

igraph

나는 NetworkX를 좋아하지만 igraph에 대해서도 좋은 점을 읽습니다. 나는 일반적으로 문제없이 백만 개의 노드가있는 그래프와 함께 NetworkX를 사용합니다 (크기 V + E의 dict보다 오버 헤드가 약 두 배입니다)

기능을 비교하려면 Networkx-discuss 목록에서이 기능을 참조하십시오

기능 비교 스레드


4
특히, Networkx에 대해 내가 좋아하는 것은 ... 주로 파이썬으로되어 있으며, 소스 코드를 쉽게 편집하고 이해할 수 있으며, 대부분 "파이썬"인 것 같습니다.
Gregg Lind

1
궁금합니다. * 또는 이와 유사한 알고리즘으로 사용하셨습니까?
dassouki

4
방금 둘 다 평가했습니다. networkx를 통해 설치할 수 pip있지만 igraph그렇지 않습니다. 이렇게하면 파일 igraph에서 종속성으로 사용하기 가 더 어려워집니다 setup.py.
exhuma

3
2013 년 업데이트로, 나는 github을 가지고
있고이

1
igraph에는 github도 있습니다 : github.com/igraph/python-igraph
user_1_1_1

105

내 자신의 그래프 파이썬 라이브러리를 연결하고 싶습니다 : graph-tool .

부스트 그래프 라이브러리를 사용하여 C ++로 구현되고 많은 알고리즘과 광범위한 문서가 포함되어 있기 때문에 매우 빠릅니다.


6
그래프 도구는 환상적입니다.
Sean

5
+1 그래프 도구. 우리는 실험실에서 그것을 사용하고 있습니다. 다른 파이썬 라이브러리에 비해 정말 빠릅니다. 게다가, 그래프 그리기 및 그래프 표시는 그래프 도구에서 매우 훌륭합니다. 그래도 컴파일하는 데 많은 시간이 걸립니다!
Dilawar

5
불행히도 창문이 지원되지 않습니다 :(
Mike Chaliy

2
@TiagoPeixoto 이것은 매우 유망 해 보이지만 Windows에서는 사용할 수 없습니다. NetworkX에 갇혀 너무 느립니다.
Naman

2
@ColonelPanic 이것은 FAQ이며, graph-tool.skewed.de/download를 참조하십시오 . pip를 통해 설치할 수 없습니다. "
Tiago Peixoto



6

1
좋은 한 dehmann, 나는 그것을 먼저 갔다 (거래에 의해 C ++ 프로그래머이며 절대적으로 사랑하는 부스트), 그러나 이것은 나를 두려워합니다 : BGL-Python 바인딩은 더 이상 유지되지 않습니다 <페이지의 상단>
cpatrick

3
대신 그래프 도구를보십시오 .bgl 기반이며 활성입니다.
Sean



0

python-graph를 사용하라는 zweiterlinde의 제안을 두 번째로하십시오. 필자는 현재 작업중인 그래프 기반 연구 프로젝트의 기초로 사용했습니다. 라이브러리는 잘 작성되어 있고 안정적이며 인터페이스가 좋습니다. 저자는 또한 문의 및 보고서에 신속하게 응답합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.