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


Python cudf.DataFrame.merge用法及代码示例


用法:

DataFrame.merge(right, on=None, left_on=None, right_on=None, left_index=False, right_index=False, how='inner', sort=False, lsuffix=None, rsuffix=None, indicator=False, suffixes=('_x', '_y'))

通过按列或索引执行 database-style 连接操作来合并 GPU DataFrame 对象。

参数

rightDataFrame
on标签或清单;默认为无

要加入的列或索引级别名称。这些必须在两个 DataFrame 中都可以找到。

如果 on 是 None 并且不合并索引,则默认为两个 DataFrame 中列的交集。

how{‘left’, ‘outer’, ‘inner’, ‘leftsemi’, ‘leftanti’},默认 ‘inner’

要执行的合并类型。

  • left:仅使用左帧中的键,类似于 SQL 左外连接。

  • 对:不支持。

  • 外部:使用来自两个帧的键并集,类似于 SQL 完全外部联接。

  • 内部:使用来自两个帧的键的交集,类似于 SQL 内部连接。

  • 左半类似于inner join,但只返回列

    来自左侧数据帧并忽略右侧数据帧中的所有列。

  • leftanti :仅返回左侧 DataFrame 中未匹配记录的行列。这与leftsemi join 完全相反。

left_on标签或列表,或array-like

要在左侧 DataFrame 中加入的列或索引级别名称。也可以是左侧DataFrame长度的数组或数组列表。这些数组被视为列。

right_on标签或列表,或array-like

要在右侧 DataFrame 中加入的列或索引级别名称。也可以是正确DataFrame长度的数组或数组列表。这些数组被视为列。

left_index布尔值,默认为 False

使用左侧 DataFrame 中的索引作为连接键。

right_index布尔值,默认为 False

使用右侧 DataFrame 中的索引作为连接键。

sort布尔值,默认为 False

从左侧开始,按合并的列对生成的 DataFrame 进行排序。

suffixes: Tuple[str, str], defaults to (‘_x’, ‘_y’)

应用于左侧和右侧重叠列名的后缀

返回

mergedDataFrame

注意

cuDF 中的 DataFrames 合并导致不确定的行排序。

例子

>>> import cudf
>>> df_a = cudf.DataFrame()
>>> df_a['key'] = [0, 1, 2, 3, 4]
>>> df_a['vals_a'] = [float(i + 10) for i in range(5)]
>>> df_b = cudf.DataFrame()
>>> df_b['key'] = [1, 2, 4]
>>> df_b['vals_b'] = [float(i+10) for i in range(3)]
>>> df_merged = df_a.merge(df_b, on=['key'], how='left')
>>> df_merged.sort_values('key')  
   key  vals_a  vals_b
3    0    10.0
0    1    11.0    10.0
1    2    12.0    11.0
4    3    13.0
2    4    14.0    12.0

仅在某些情况下才允许合并分类变量

分类变量类型转换逻辑取决于how 和要合并的分类变量的细节。当只有一侧被排序时合并分类变量是不明确的并且不允许的。当两个分类都排序时允许合并,但只有当类别完全相等且具有相同的顺序时,才会产生公共 dtype。当两边都无序时,结果分类取决于连接的类型: - 对于内部连接,结果将是类别的交集 - 对于左连接或右连接,结果将分别是左或右 dtype。这延伸到半连接和反连接。 - 对于外连接,结果将是双方类别的并集。

相关用法


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