从嵌套字典生成 Python 中的网络图
Generate Network Graph in Python from nested dictionary
我有一个输入字典,例如:
d={'node1':{'node1_1':1.2,'node1_2':1.3,'node1_3':1.2},'node2':
{'node2_1':1.3,'node2_2':1.3,'node2_3':1.4}}
在输出中,node1与权重为1.2的node1_1、权重为1.3的node1_2、权重为1.2的节点1-3有关系。 node2 的情况也是如此,它与节点 2_1、node2_2 和 node2_3 以及它们各自的权重相关联。
在 Python?
中,是否有任何通用的方法可以使用 NetworkKx 或通过任何其他方式从输入字典生成有向图
IIUC,可以使用nx.from_dict_of_lists
:
d={'node1':{'node1_1':1.2,'node1_2':1.3,'node1_3':1.2},
'node2':{'node2_1':1.3,'node2_2':1.3,'node2_3':1.4}}
import networkx as nx
G = nx.from_dict_of_lists(d, create_using=nx.DiGraph)
要获得权重,请使用 nx.from_dict_of_dicts
:
d2 = {k:{k2: {'weight': v2} for k2,v2 in v.items()} for k,v in d.items()}
G = nx.from_dict_of_dicts(d2, create_using=nx.DiGraph)
输出:
我有一个输入字典,例如:
d={'node1':{'node1_1':1.2,'node1_2':1.3,'node1_3':1.2},'node2':
{'node2_1':1.3,'node2_2':1.3,'node2_3':1.4}}
在输出中,node1与权重为1.2的node1_1、权重为1.3的node1_2、权重为1.2的节点1-3有关系。 node2 的情况也是如此,它与节点 2_1、node2_2 和 node2_3 以及它们各自的权重相关联。 在 Python?
中,是否有任何通用的方法可以使用 NetworkKx 或通过任何其他方式从输入字典生成有向图IIUC,可以使用nx.from_dict_of_lists
:
d={'node1':{'node1_1':1.2,'node1_2':1.3,'node1_3':1.2},
'node2':{'node2_1':1.3,'node2_2':1.3,'node2_3':1.4}}
import networkx as nx
G = nx.from_dict_of_lists(d, create_using=nx.DiGraph)
要获得权重,请使用 nx.from_dict_of_dicts
:
d2 = {k:{k2: {'weight': v2} for k2,v2 in v.items()} for k,v in d.items()}
G = nx.from_dict_of_dicts(d2, create_using=nx.DiGraph)
输出: