2016-05-06 63 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()' –

相关问题