2015-07-20 16 views
0

我有一個igraph網絡g,其中所有邊的權重均爲1,並且所有頂點屬於5組(以稱爲「組」的頂點參數記錄)。根據iGraph中的常見參數摺疊圖形[Python]

現在我想創建一個新的圖G,其中g的頂點被摺疊,礦石收縮,根據它們所屬的組。因此,G的頂點數減少到g中不同組的數量,並且這些新摺疊頂點之間的邊的權重等於g中相同組之間的邊的總計數。

我相信我可以使用contract_vertices()。但邊緣的權重不會被添加,我猜...無論如何,有沒有辦法在igraph中實現這一點?

謝謝!

回答

1

使用contract_vertices()隨後與simplify(),它可以摺疊的邊緣,總結權重:

g2 = g.copy() 
g2.contract_vertices(membership) 
g2.simplify(combine_edges={"weight": sum}) 
+0

很好,謝謝(IGRAPH是如此令人印象深刻)!就成員資格而言,有沒有辦法從參數「group」中構建一個數組? – Rodolphe

+0

(「group」是一個字符串) – Rodolphe