def flatten_graph_data(graph):
"""Returns a new graph with flattened edge data dictionaries.
:param nx.MultiDiGraph graph: A graph with nested edge data dictionaries
:return: A graph with flattened edge data dictionaries
:rtype: nx.MultiDiGraph
"""
g = nx.MultiDiGraph(**graph.graph)
for node, data in graph.nodes(data=True):
g.add_node(node, data)
for u, v, key, data in graph.edges(data=True, keys=True):
g.add_edge(u, v, key=key, attr_dict=flatten_dict(data))
return g
评论列表
文章目录