У меня есть две строки CSV, которые я буду использовать для построения графиков. У каждого есть уникальный тег. Я хотел бы назначить тег из каждого графика всем ребрам, а затем объединить графики и объединить атрибуты. Пример:
CSV1: a,b,c,d,e,123
CSV2: a,b,c,f,e,456
После того как я построю и объединю графики, edge: edge_attributes будет выглядеть следующим образом. Общие ребра на двух графиках содержат только один тег:
('a', 'b') : {'tag': ['456']}
('b', 'c') : {'tag': ['456']}
('c', 'd') : {'tag': ['123']}
('c', 'f') : {'tag': ['456']}
('d', 'e') : {'tag': ['123']}
('f', 'e') : {'tag': ['456']}
Я не могу понять, как объединить атрибуты тега так, чтобы edge: edge_attributes выглядел следующим образом. Узлы ('a', 'b') и ('b', 'c') должны сохранять оба тега:
('a', 'b') : {'tag': ['123', '456']}
('b', 'c') : {'tag': ['123', '456']}
('c', 'd') : {'tag': ['123']}
('c', 'f') : {'tag': ['456']}
('d', 'e') : {'tag': ['123']}
('f', 'e') : {'tag': ['456']}
У меня есть 100 тыс. Графов по 1000 узлов в каждом, так что это должен быть эффективный процесс.
В настоящее время я объединяю их так:
merged_graph = networkx.DiGraph()
for graph in my_list:
merged_graph.add_edges_from(graph.edges(data=True))