Как сохранить узлы в networkx-графе только с 2+ исходящими ребрами или 0 исходящими ребрами? - PullRequest
12 голосов
/ 20 декабря 2011

У меня есть Directed Graph в сетиx. Я хочу сохранить только те узлы, которые имеют два или более двух исходящих ребер или вообще не имеют исходящего ребра. Как мне это сделать?

или

Как мне удалить узлы, которые имеют ровно одно исходящее ребро в графе networkx.

1 Ответ

19 голосов
/ 20 декабря 2011

Вы можете найти узлы в графе G с одним исходящим ребром, используя метод out_degree:

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

Удаление - это:

G.remove_nodes_from(to_remove)

Если вы предпочитаете создать новый график вместо изменения существующего графика на месте, создайте подграф:

to_keep = [n for n in outdeg if outdeg[n] != 1]
G.subgraph(to_keep)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...