У меня есть DF pandas, где каждый столбец представляет собой узел, а два столбца - ребро, как показано ниже:
import pandas as pd
df = pd.DataFrame({'node1': ['2', '4','17', '17', '205', '208'],
'node2': ['4', '13', '25', '38', '208', '300']})
Все узлы являются ненаправленными, т.е. вы можете переходить от одного к другому undirected_graph
Я хотел бы сгруппировать их во все связанные группы (Связность) следующим образом:
df = pd.DataFrame({'node1': ['2', '4','17', '17', '205', '208'],
'node2': ['4', '13', '25', '38', '208', '300']
,'desired_group': ['1', '1', '2', '2', '3', '3']})
Например, причина, по которой первые двастроки были сгруппированы, потому что можно было добраться от узла 2 к узлу 13 (через 4).
Самый близкий вопрос, который мне удалось найти, это: pandas - преобразование кадра данных в список краев согласнок значениям столбцов , но, насколько я понимаю, это другой вопрос.
Любая помощь по этому вопросу будет большой, заранее спасибо.