Pythonグラフライブラリ[終了]


354

私はグラフのデータ構造を多用するPythonアプリケーションを書いています。恐ろしいほど複雑なことは何もありませんが、ある種のグラフ/グラフアルゴリズムライブラリが役立つと思います。私はググってみましたが、特に飛んでくるものは何も見つかりません。

誰か良い提案はありますか?


どのグラフアルゴリズムを探していますか?
Andrew

1
アモス、私は重みを与えられた最短経路を計算できるグラフライブラリを探していました。本当に基本的なものです。私はnetworkxに行きました。それはかなりうまくいきます。ただし、このプロジェクトにはしばらく触れていません。この質問は1年以上前に尋ねられました。
cpatrick 2010

108
このように役立つ質問があり、このように多くの賛成票を投じることが「建設的でない」と分類できるのは驚くほど奇妙です。
ジムレイナー、2014年

1
また、neo4jのような「ネイティブグラフデータベース」を使用してから、Pythonバインディングを使用してdbと話し合うこともできますか?
STEFANI 2016年

3
@JimRaynor「建設的ではない」は古いキャッチオールでした。近い理由は、意図された使用法をよりよくカバーするように更新されました(完全ではありませんが、より優れています)。今日、これは推奨質問として閉じられます。
jpmc26 2018

回答:


237

2つの優れた選択肢があります。

NetworkX

そして

igraph

私はNetworkXが好きですが、igraphについても良いことを読んでいます。問題なく100万ノードのグラフでNetworkXを日常的に使用しています(サイズV + Eのdictのオーバーヘッドの約2倍です)。

機能の比較が必要な場合は、Networkx-discussリストからこれを参照してください

機能比較スレッド


4
特に、私がNetworkxについて気に入っている点は、ほとんどがpythonであり、ソースコードの編集と理解が簡単で、ほとんどが「pythonic」のように感じられます。
グレッグ・リンド

1
疑問に思っていましたが、*または同様のアルゴリズムで使用しましたか?
dassouki、2010

4
両方を評価したところです。networkxはを介してインストールできますがpip、そうでigraphはありません。これによりigraphsetup.pyファイルの依存関係として使用することが難しくなります。
exhuma

3
2013用の更新プログラムとして、私はそれが最もアップこの答え、他のすべてのオプションの日付にgithubのとルックスを持っているnetworkxだけでB / Cに行くよ
МатиТернер

1
igraphにはgithubもあります:github.com/igraph/python-igraph
user_1_1_1

105

私自身のグラフPythonライブラリーgraph-toolをプラグインしたいと思います

ブーストグラフライブラリを使用してC ++で実装されているため、非常に高速で、多数のアルゴリズムと広範なドキュメントが含まれています。


6
グラフツールは素晴らしいです。
Sean

5
+1グラフツール用。ラボではこれを使用しています。他のpythonライブラリと比べて本当に高速です。その上、グラフの描画と表示はグラフツールでかなり素晴らしいです。ただし、コンパイルには時間がかかります!
ディラワル2013年

5
残念ながら、Windowsはサポートしていません:(
Mike Chaliy

2
@TiagoPeixotoこれは非常に有望に見えますが、Windowsでは使用できません。NetworkXに行き詰まり、遅すぎることがわかりました。
ナマン2014年

2
@ColonelPanicこれはよくある質問で、参照graph-tool.skewed.de/download:「グラフツールがいくつかに決定的に依存するので、短い答えは、それを行うことができないということである(優)となるようブーストなどのC ++ライブラリを、ピップ経由ではインストールできません。」
Tiago Peixoto





0

私はpydotで一番運がいいです。その他のいくつかは、Win 7などの異なるプラットフォームにインストールして構成するのが難しいものです。

http://code.google.com/p/pydot/


0

私はpython-graphを使用するzweiterlindeの提案を2番目に示します。私が取り組んでいるグラフベースの研究プロジェクトの基礎として使用しました。ライブラリは適切に記述され、安定しており、優れたインターフェースを備えています。著者はまた、問い合わせや報告に迅速に対応します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.