पायथन ग्राफ लाइब्रेरी [बंद]


354

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

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


आप किस ग्राफ के एल्गोरिदम की तलाश कर रहे हैं?
एंड्रयू

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

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

1
आप "देशी ग्राफ़ डेटाबेस" का भी उपयोग कर सकते हैं जैसे कि neo4j, फिर db के साथ चर्चा करने के लिए एक अजगर बंधन का उपयोग करें?
एक STEFANI

3
@JimRaynor "रचनात्मक नहीं" एक पुरानी पकड़ थी। करीबी कारणों को बेहतर तरीके से अपडेट किया गया है (पूरी तरह से नहीं, लेकिन बेहतर) इच्छित उपयोग को कवर करते हैं। आज, यह एक अनुशंसा प्रश्न के रूप में बंद हो जाएगा।
jpmc26

जवाबों:


237

दो उत्कृष्ट विकल्प हैं:

NetworkX

तथा

igraph

मुझे NetworkX पसंद है, लेकिन मैंने igraph के बारे में अच्छी बातें पढ़ीं। मैं नियमित रूप से 1 मिलियन नोड्स के साथ ग्राफक्स के साथ नेटवर्कएक्स का उपयोग करता हूं, जिसमें कोई समस्या नहीं है (यह आकार के वी + ई के दोगुना ओवरहेड है)

यदि आप एक सुविधा तुलना चाहते हैं, तो इसे Networkx- चर्चा सूची से देखें

सुविधा तुलना धागा


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

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

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

3
2013 के लिए एक अपडेट के रूप में, मैं नेटवर्कएक्स के साथ जा रहा हूं बस बी / सी में यह एक
गीथब है

1
igraph में एक github भी है: github.com/igraph/python-igraph
user_1_1_1

105

मैं अपने स्वयं के ग्राफ अजगर पुस्तकालय को प्लग करना चाहूंगा: ग्राफ-टूल

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


6
ग्राफ-उपकरण शानदार है।
सीन

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

5
कोई विंडोज़ दुर्भाग्य से समर्थन नहीं करता है :(
माइक छली

2
@TiagoPeixoto यह इतना आशाजनक लगता है लेकिन खिड़कियों पर इसका उपयोग नहीं किया जा सकता है। मैं NetworkX के साथ फंस गया हूं, यह बहुत धीमी गति से मिल रहा है।
नमन

2
@ColonelPanic यह एक FAQ है, ग्राफ-tool.skewed.de/download देखें : "संक्षिप्त उत्तर यह है कि यह नहीं किया जा सकता है, क्योंकि ग्राफ-टूल कुछ (उत्कृष्ट) C ++ पुस्तकालयों जैसे कि बूस्ट पर महत्वपूर्ण रूप से निर्भर करता है, जो हैं पाइप के माध्यम से स्थापित करने योग्य नहीं है। ”
टियागो पेक्सोटो 12



6

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

3
इसके बजाय ग्राफ़-टूल को देखें, यह आधारित और सक्रिय है।
शॉन


0

मैं pydot के साथ सबसे अधिक किस्मत है। कुछ अन्य को विन 7 जैसे विभिन्न प्लेटफार्मों पर स्थापित और कॉन्फ़िगर करना मुश्किल है।

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


0

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

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.