2009-03-03 13 views
285

मैं एक पायथन एप्लिकेशन लिख रहा हूं जो ग्राफ़ डेटा संरचना का भारी उपयोग करेगा। कुछ भी जटिल नहीं है, लेकिन मुझे लगता है कि कुछ प्रकार के ग्राफ/ग्राफ़-एल्गोरिदम लाइब्रेरी मेरी मदद करेंगे। मैंने चारों ओर गुमराह किया है, लेकिन मुझे कुछ भी नहीं मिला जो विशेष रूप से मेरे ऊपर निकलता है।पायथन ग्राफ लाइब्रेरी

किसी के पास कोई अच्छी सिफारिश है?

+0

आप कौन से ग्राफ एल्गोरिदम खोज रहे हैं? – Amoss

+1

आमोस, मैं एक ग्राफ लाइब्रेरी की तलाश में था जो वजन के सबसे कम पथों की गणना कर सकता था। मूल सामान, वास्तव में। मैं नेटवर्कक्स के साथ जा रहा समाप्त हो गया। यह बहुत अच्छी तरह से काम करता है। हालांकि, मैंने थोड़ी देर में परियोजना को छुआ नहीं है। एक साल पहले इस सवाल से पूछा गया था। – cpatrick

+69

यह आश्चर्यजनक रूप से अजीब बात है कि ऐसे प्रश्न हैं जो इस तरह के सहायक हैं और इस तरह के वोट को प्राप्त करने के लिए "रचनात्मक नहीं" के रूप में वर्गीकृत किया जा सकता है। –

उत्तर

204

पर एक नज़र लेने के लिए वहाँ दो उत्कृष्ट विकल्प हैं चाहते हो सकता है:

NetworkX

और

igraph

मैं NetworkX पसंद है, लेकिन मैं igraph के बारे में अच्छी चीजें भी पढ़ें। मैं नियमित रूप से कोई समस्या नहीं के साथ 1 लाख नोड्स के साथ रेखांकन के साथ NetworkX का उपयोग

आप एक सुविधा तुलना चाहते हैं, से यह देख (इसके बारे में दुगुने आकार वी + ई की एक dict की भूमि के ऊपर है) Networkx-पर चर्चा सूची

Feature comparison thread

+4

विशेष रूप से, मुझे नेटवर्कक्स के बारे में क्या पसंद है .... यह ज्यादातर पाइथन में है, स्रोत कोड को संपादित करने और समझने में आसान है, और यह ज्यादातर "पायथनिक" लगता है। –

+1

मैं सोच रहा था, क्या आपने इसे * या समान एल्गोरिदम के साथ उपयोग किया है? – dassouki

+3

मैंने अभी दोनों का मूल्यांकन किया। 'networkx'' पीपी' के माध्यम से स्थापित किया जा सकता है, जबकि 'igraph' नहीं है। यह आपकी 'setup.py' फ़ाइलों में निर्भरता के रूप में उपयोग करने के लिए' igraph' कठिन बनाता है। – exhuma

29

क्या आपने python-graph पर देखा है? मैंने इसे स्वयं नहीं इस्तेमाल किया है, लेकिन प्रोजेक्ट पेज वादा करता है।

4

Boost Graph Library - Python Bindings का उपयोग करें।

+1

अच्छा एक डेहमान, मैं उस के लिए गया था (व्यापार द्वारा सी ++ प्रोग्रामर होने और बिल्कुल प्यार करने वाला बढ़ावा) होने पर, लेकिन यह मुझे डराता है: बीजीएल-पायथन बाइंडिंग अब पेज के शीर्ष पर बनाए रखा नहीं जा रहा है – cpatrick

+2

इसके बजाए ग्राफ़-टूल देखें, यह बीजीएल आधारित और सक्रिय है। – Sean

90

मैं अपनी खुद की ग्राफ पाइथन लाइब्रेरी प्लग करना चाहता हूं: graph-tool

यह बहुत तेज़ है, क्योंकि इसे बूस्ट ग्राफ लाइब्रेरी के साथ सी ++ में कार्यान्वित किया गया है, और इसमें बहुत सारे एल्गोरिदम और व्यापक दस्तावेज शामिल हैं।

+6

ग्राफ-टूल शानदार है। ग्राफ़-टूल के लिए – Sean

+4

+1। हम इसे प्रयोगशाला में इस्तेमाल कर रहे हैं। यह अन्य पायथन पुस्तकालयों की तुलना में वास्तव में तेज़ है। इसके अलावा, आलेख को चित्रित करना और प्रदर्शित करना ग्राफ-टूल में बहुत ही बढ़िया है। यद्यपि संकलन करने के लिए बहुत समय लगता है! – Dilawar

+0

मुझे लगता है कि पाठकों को उन ग्राफ पुस्तकालयों के प्रदर्शन की तुलना करने के लिए एक लिंक देना बेहतर होगा: http://graph-tool.skewed.de/performance – MengT

0

मैं दूसरे zweiterlinde के सुझाव अजगर-ग्राफ उपयोग करने के लिए विन 7 की तरह अलग अलग प्लेटफार्मों पर कॉन्फ़िगर करने के लिए कड़ी मेहनत कर रहे हैं। मैंने इसे ग्राफ-आधारित शोध प्रोजेक्ट के आधार के रूप में उपयोग किया है जिस पर मैं काम कर रहा हूं। पुस्तकालय अच्छी तरह से लिखा है, स्थिर है, और एक अच्छा इंटरफ़ेस है। लेखक पूछताछ और रिपोर्ट का जवाब देने के लिए भी जल्दी हैं।

संबंधित मुद्दे