найти количество общих соседей - PullRequest
0 голосов
/ 07 августа 2020

привет, не могли бы вы мне помочь, как я могу найти количество общих соседей в сетях, это мой код, но я не знаю, как его продолжить ???

`

import networkx as nx
import pandas as pd
import numpy as np
import matplotlib.pyplot  as plt

G=pd.read_csv('karate.txt',header=None,delim_whitespace=True,names=['n1','n2'])
G2=nx.from_pandas_edgelist(G,source='n2',target='n1')
#print(G2.edges())
#print(G2.degree())
e=[]


for n in G2:
    for c in G2:
        if n!=c:  
         G5=sorted(nx.common_neighbors(G2,n,c))
        
         edges.append([n,c,len(G5)])
        
    print(edges)`

1 Ответ

0 голосов
/ 07 августа 2020

Вот однострочник, который будет подсчитывать общих соседей между узлами 1 и 2

import networkx as nx

G = nx.karate_club_graph()

common_nbor = len(set([n for n in G.neighbors(1)]).intersection(set([n for n in G.neighbors(2)])))

common_nbor = 4

...