PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

पायथन में जुड़े हुए घटकों में मिलान करने वाले जोड़े को कैसे एकत्रित करें

नेटवर्कएक्स के साथ:

import networkx as nx
G1=nx.Graph()
G1.add_edges_from([("a","b"),("b","c"),("c","d"),("d","e"),("f","g")])
sorted(nx.connected_components(G1), key = len, reverse=True)

देना:

[['a', 'd', 'e', 'b', 'c'], ['f', 'g']]

अब आपको सबसे तेज़ एल्गोरिथम की जाँच करनी होगी ...

ओपी:

यह बहुत अच्छा काम करता है! मेरे पास यह अब मेरे PostgreSQL डेटाबेस में है। बस जोड़े को दो-स्तंभ तालिका में व्यवस्थित करें, फिर array_agg() . का उपयोग करें पीएल/पायथन फ़ंक्शन को पास करने के लिए get_connected() . धन्यवाद।

CREATE OR REPLACE FUNCTION get_connected(
    lhs text[],
    rhs text[])
  RETURNS SETOF text[] AS
$BODY$
    pairs = zip(lhs, rhs)

    import networkx as nx
    G=nx.Graph()
    G.add_edges_from(pairs)
    return sorted(nx.connected_components(G), key = len, reverse=True)

$BODY$ LANGUAGE plpythonu;

(नोट:मैंने उत्तर संपादित किया, जैसा कि मैंने सोचा था कि यह कदम सहायक परिशिष्ट हो सकता है, लेकिन एक टिप्पणी के लिए बहुत लंबा है।)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. पीजी ::त्रुटि - हेरोकू पर संख्यात्मक क्षेत्र अतिप्रवाह

  2. हाइबरनेट त्रुटि:संदर्भित तालिका के लिए कोई प्राथमिक कुंजी नहीं है

  3. समय श्रृंखला में अंतराल का पता लगाएं और हटाएं

  4. क्या हम हमेशा डेट कॉलम को स्ट्रिंग (वर्कर) के रूप में नक्स और पोस्टग्रेज के साथ ला सकते हैं?

  5. PostgreSQL डेटाबेस को SQLServer एक में कैसे माइग्रेट करें?