2016-05-06 64 views
-1

我有一個很多沒有邊的頂點的圖。如何刪除igraph python中沒有邊的所有頂點?

IGRAPH UN-- 560 49 -- 
+ attr: area (v), cnpj (v), grande_area (v), name (v), res (v), std (v), company (e), res (e), std (e) 

我想刪除一些沒有邊的所有頂點...... 喜歡的東西:

to_delete_ids = [v.index for v in g_groups_all.vs if v HAS NO EDGES] 
g_groups_all.delete_vertices(to_delete_ids) 

但我不知道怎麼寫條件檢查頂點沒有邊緣。我試過v._source == None or v._target != True沒有成功。

我邊e['company'] e['res'] and e['std']可以TrueNone

回答

0

不好意思問這樣的問題。當然...

to_delete_ids = [v.index for v in g_groups_all.vs if v.degree() == 0] 
g_groups_all.delete_vertices(to_delete_ids) 

顯然!但是花了我一些時間纔想出來...

+0

一個更緊湊的選擇:'g_groups_all.vs.select(_degree = 0).delete()' –

相關問題