Метки для определенных узлов и их первых соседей (networkx)

#python #pandas #networkx

Вопрос:

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

Приведенный ниже код создает сеть и добавляет метки ко всем узлам. Однако меня интересуют только узлы, соединяющие группы. Группы обозначены 0,1 и 2.

 Source Target Edge_Weight Label_Source Label_Target 0 A F 29.1 0.0 0.0 1 A G 46.9 0.0 1.0 2 A B 24.4 0.0 1.0 3 C F 43.4 0.0 0.0 4 C N 23.3 0.0 1.0 5 D S 18.0 1.0 0.0 6 D G 67.6 1.0 0.0 7 D B 37.2 1.0 1.0 8 D E 46.9 1.0 2.0 9 E D 36.8 2.0 1.0 10 E B 21.4 2.0 1.0 11 E R 14.0 2.0 0.0 12 E F 12.5 2.0 0.0 13 F A 59.1 0.0 0.0 14 F E 67.1 0.0 2.0  

Написанный код:

 G = nx.from_pandas_edgelist(df, 'Source', 'Target')  cons = nx.constraint(G) pos_G = nx.spring_layout(G ,iterations = 100)  nsize = np.array ([1-v for v in cons.values()]) nsize = 10**(nsize 1)  nodes = nx.draw_networkx_nodes (G , pos = pos_G, node_color=nsize, cmap=plt.cm.coolwarm, node_size = nsize) edges = nx.draw_networkx_edges (G , pos = pos_G,  alpha = .1)  labels = nx.draw_networkx_labels(G, pos_G)  

Мой ожидаемый результат должен был бы отображать метки в узлах «слабой связи» и в их первых соседях.