Как я могу создать подграф NetworkX из узлов с определенной степенью? - PullRequest
0 голосов
/ 05 марта 2019

У меня есть график G, который включает в себя весь мой набор данных, но сейчас я хочу создать из него график, где подмножество узлов имеют degree выше определенного порога.

Это окольным путем - построить наиболее соединенные узлы, но затем я могу изменить пороговое значение на мой выбор для других графиков.

Итак, мой код в настоящее время:

myedgelist = []

for i in G.degree(): 
    if i[1] > 2:
        myedgelist.append(g for g in G.edges(i[0]))

Но если я попытаюсь создать подграф из этих ребер с G.edge_subgraph(myedgelist), это приведет к TypeError.

1 Ответ

0 голосов
/ 05 марта 2019

Посмотрите на это решение, используя функцию nx.subgraph:

G=nx.erdos_renyi_graph(n=100,p=.05)
node_degree_dict=nx.degree(G)
G2=nx.subgraph(G,[x for x in G.nodes() if node_degree_dict[x]>5])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...