簡體   English   中英

當刪除低度數的節點時,為什么一些度數高的節點也從圖中刪除了?

[英]when remove nodes with low degrees, why some with high degrees have been also deleted from graph?

我試圖刪除低度數的節點,以簡化我的圖形。 這是代碼:

low_degree_node = [x for x in g.nodes() if g.degree(x) <= 50]
g.remove_nodes_from(low_degree_node)

但是當我檢查它是否有效時,我發現一些高度節點也被刪除了。 下面是我的檢查節點:

degree_sequence = sorted((d for n, d in g.degree()), reverse=True)
dmax = max(degree_sequence)
dmin = min(degree_sequence)
print(dmin)
print(dmax)

整個代碼:

# before remove
degree_sequence = sorted((d for n, d in g.degree()), reverse=True)
dmax = max(degree_sequence)
dmin = min(degree_sequence)
print(dmin)
print(dmax)

low_degree_node = [x for x in g.nodes() if g.degree(x) <= 50]
g.remove_nodes_from(low_degree_node)

# after remove
degree_sequence = sorted((d for n, d in g.degree()), reverse=True)
dmax = max(degree_sequence)
dmin = min(degree_sequence)
print(dmin)
print(dmax)

結果是:

# before
2
398
# after
41
363

它出什么問題了? 我怎樣才能刪除低度節點?

沒有可重現的例子很難聲稱,但似乎低度節點連接到最高度節點(所以它是一個星),結果最高度節點仍在圖中,但度數較低(因為它丟失了一些連接的低度節點)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM