当前位置: 首页>>编程示例 >>用法及示例精选 >>正文


Python cugraph.structure.symmetrize.symmetrize_df用法及代码示例

用法:

cugraph.structure.symmetrize.symmetrize_df(df, src_name, dst_name, multi=False, symmetrize=True)

获取存储在 DataFrame 中的 COO,以及源列和目标列的列名,并使用使图形对称的相同列名创建一个新的 DataFrame ,以便所有边都出现在两个方向上。请注意,如果 DataFrame 中存在其他列(例如边权重),其他列也将被复制。也就是说,如果 (u,v,data) 表示输入数据中的源值 (u)、目标值 (v) 和一些其他列 (data),那么输出数据将同时包含 (u,v, data) 和 (v,u,data) 与匹配的数据。如果 (u,v,data1) 和 (v,u,data2) 存在于 data1 != data2 的输入数据中,则此代码将任意选择要保留的较小数据元素,如果不需要,则调用者应更正调用对称之前的数据。

参数

dfcudf.DataFrame

包含 COO 的输入 DataFrame 。列应包含源 ID、目标 ID 和与边关联的任何属性。

src_namestring

DataFrame 中包含源 ID 的列的名称

dst_namestring

DataFrame 中包含目标 ID 的列的名称

multi布尔,可选(默认=假)

如果图形是 Multi(Di)Graph,则设置为 True。这允许多个边而不是丢弃它们。

symmetrize布尔,可选(默认=真)

默认为 True 以执行对称化。如果为 False,则仅删除重复的边。

例子

>>> from cugraph.structure.symmetrize import symmetrize_df
>>> # Download dataset from https://github.com/rapidsai/cugraph/datasets/..
>>> M = cudf.read_csv(datasets_path / 'karate.csv', delimiter=' ',
...                   dtype=['int32', 'int32', 'float32'], header=None)
>>> sym_df = symmetrize_df(M, '0', '1')

相关用法


注:本文由纯净天空筛选整理自rapids.ai大神的英文原创作品 cugraph.structure.symmetrize.symmetrize_df。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。