Это кажется приемлемым способом представления графа и фактически совместимо, скажем, с nextworkx
. Например, вы можете восстановить объект графа nextworkx
следующим образом:
import networkx as nx
g = nx.from_pandas_adjacency(df)
print(g.edges)
# [('nodeA', 'nodeB'), ('nodeA', 'nodeC'), ('nodeB', 'nodeC')]
print(g.get_edge_data('nodeA', 'nodeB'))
# {'weight': 5}
Если ваш график разрежен, вы можете вместо этого сохранить его в виде списка ребер, например, как обсуждалось здесь .