2011-12-20 13 views
11

Ağda Yönlendirilmiş Grafiğim var. Sadece iki veya ikiden fazla giden kenarı olan veya giden kenarları olmayan düğümleri tutmak istiyorum. Bunu nasıl yaparım?Ağda-grafikte düğümleri yalnızca 2+ dışarı giden kenar veya 0 giden kenar ile nasıl tutunur?

veya

nasıl networkx grafikte tam bir giden kenar düğümleri kaldırır yapmak.

+4

Eğer st Bir grafik ile sanat, bir giden kenarı olan düğümleri bulmak ve sonra bunları kaldırmak, hala bir giden kenarlı bir düğüm olan yeni bir grafik yaratabilirsiniz (önce iki tane vardı ve ilgili düğümlerden biri kaldırıldı.) Bu durumda ne yapmak istersiniz? – DSM

cevap

17

tek bir giden kenar out_degree yöntemi kullanılarak grafiğe G düğümleri bulabilirsiniz:

outdeg = G.out_degree() 
to_remove = [n for n in outdeg if outdeg[n] == 1] 

Çıkarma o zaman:

G.remove_nodes_from(to_remove) 

yeni grafik oluşturmak yerine modifiye tercih ederseniz Mevcut grafik yerinde, bir alt sayfa oluşturun:

to_keep = [n for n in outdeg if outdeg[n] != 1] 
G.subgraph(to_keep) 
+0

bu düğümleri sildikten sonra, derece değişecek mi? – user3341953

İlgili konular