full_join#
- full_join(G, H, rename=(None, None))[source]#
返回图 G 和 H 的全连接。
全连接是 G 和 H 的并集,其中所有 G 和 H 之间的边都被添加。 G 和 H 的节点集必须不相交,否则会引发异常。
- Parameters:
- G, H图
一个 NetworkX 图
- rename元组, 默认=(None, None)
可以通过指定元组 rename=(‘G-‘,’H-’) 来更改 G 和 H 的节点名称(例如)。G 中的节点 “u” 将被重命名为 “G-u”,H 中的节点 “v” 将被重命名为 “H-v”。
- Returns:
- U与 G 类型相同的全连接图。
See also
Notes
建议 G 和 H 要么都是有向的,要么都是无向的。
如果 G 是有向的,那么会添加从 G 到 H 以及从 H 到 G 的边。
注意,full_join() 不会为 MultiGraphs 生成平行边。
图 G 和 H 的全连接操作与获取它们的补图、执行不相交并集,最后获取结果图的补图相同。
图、边和节点属性从 G 和 H 传播到并集图。如果 G 和 H 中都存在某个图属性,则使用 H 中的值。
Examples
>>> 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')])
Additional backends implement this function
graphblas : OpenMP-enabled sparse linear algebra backend.