full_join#
- full_join(G, H, rename=(None, None))[source]#
返回图 G 和 H 的全并。
全并是 G 和 H 的并集,其中添加了 G 和 H 之间的所有边。G 和 H 的节点集必须互不相交,否则会引发异常。
- 参数:
- G, H图
一个 NetworkX 图
- rename元组 , 默认值=(None, None)
可以通过指定元组 rename=('G-', 'H-') 来更改 G 和 H 的节点名称(例如)。G 中的节点“u”将被重命名为“G-u”,H 中的节点“v”将被重命名为“H-v”。
- 返回:
- U与 G 类型相同的全并图。
另请参阅
注意
建议 G 和 H 要么都是有向图,要么都是无向图。
如果 G 是有向图,则会添加从 G 到 H 的边以及从 H 到 G 的边。
请注意 full_join() 不会为 MultiGraph 产生并行边。
图 G 和 H 的全并操作等同于获取它们的补图,执行不相交并集,最后获取结果图的补图。
图、边和节点属性会从 G 和 H 传播到合并图。如果图属性在 G 和 H 中都存在,则使用来自 H 的值。
示例
>>> G = nx.Graph([(0, 1), (0, 2)]) >>> H = nx.Graph([(3, 4)]) >>> R = nx.full_join(G, H, rename=("G", "H")) >>> R.nodes NodeView(('G0', 'G1', 'G2', 'H3', 'H4')) >>> R.edges EdgeView([('G0', 'G1'), ('G0', 'G2'), ('G0', 'H3'), ('G0', 'H4'), ('G1', 'H3'), ('G1', 'H4'), ('G2', 'H3'), ('G2', 'H4'), ('H3', 'H4')]) ----
其他后端实现了此函数
graphblas : 启用 OpenMP 的稀疏线性代数后端。