python - retrieve unconnected node pairs code example

Example: python - retrieve unconnected node pairs

nodelist = list(G0.nodes(data=True))                        # From G to list
vertex = [a for a, b in nodelist]                           # Get attribute vertex
node_df = pd.DataFrame({'vertex': vertex})                  # Get DF with vertex
node_list = node_df["vertex"].tolist()                      # From df to list

node_list = list(dict.fromkeys(node_list))                  # Remove duplicate items from the list
adj_G = nx.to_numpy_matrix(G0, nodelist = node_list)        # Build adjacency matrix


all_unconnected_pairs = []                                                  
offset = 0                                                                  
for i in tqdm(range(adj_G.shape[0])):                                       # Take only above diagonal of the adjacency matrix                                         
  for j in range(offset, adj_G.shape[1]):
    if i != j:
        # if G0[node_list[i], node_list[j]]['weight'] <=2:                  # Take only edges with weight 1 or 2
            if adj_G[i,j] ==0:                                              # Take only unconnected node pairs                                     
                all_unconnected_pairs.append([node_list[i], node_list[j]])

  offset = offset + 1

len(all_unconnected_pairs)