join() 方法
基于一个公共键将来自两个数据帧的列组合为单个数据帧。
语法
左数据帧名称.join(other = 右数据帧名称, lkey = ["左键列", "...n"], lcolumns = ["左列", "...n"], rkey = ["右键列", "...n"], rcolumns = ["右列", "...n"], join_type = "inner"|"left"|"right"|"outer"|"unmatched")
参数
名称 | 描述 | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
other = 右数据帧名称 | 右数据帧的名称。 | ||||||||||||||||||
lkey = ["左键列", "...n"] |
左数据帧中的一个或多个键列。 列被按照您列出它们的顺序使用。如果您联接一个以上的列,则相应的列在 lkey 和 rkey 中必须具有相同的顺序。 说明 左键值和右键值的匹配区分大小写。只有在其大小写也完全相同时,匹配值才被视为完全相同。 |
||||||||||||||||||
lcolumns = ["左列", "...n"] 可选 |
左数据帧中要包括在联接输出数据帧中的列。列被按照您列出它们的顺序包括。 如果您省略 lcolumns,则左数据帧中的所有列都被包括在联接输出数据帧中。 如果您想要排除所有左列,请指定 lcolumns = []。 说明 一个或多个 lkey 列被自动包括在输出数据帧中。您无须在 lcolumns 中重新指定它们。 |
||||||||||||||||||
rkey = ["右键列", "...n"] |
右数据帧中的一个或多个键列。 列被按照您列出它们的顺序使用。如果您联接一个以上的列,则相应的列在 rkey 和 lkey 中必须具有相同的顺序。 说明 左键值和右键值的匹配区分大小写。只有在其大小写也完全相同时,匹配值才被视为完全相同。 |
||||||||||||||||||
rcolumns = ["右列", "...n"] 可选 |
右数据帧中要包括在联接输出数据帧中的列。列被按照您列出它们的顺序包括。 如果您省略 rcolumns,则右数据帧中的所有列都被包括在联接输出数据帧中。 如果您想要排除所有右列,请指定 rcolumns = []。 如果您使用 unmatched 联接类型,则 rcolumns 被忽略。 说明 一个或多个 rkey 列被自动包括在输出数据帧中。您无须在 rcolumns 中重新指定它们。 |
||||||||||||||||||
join_type = "inner" | "left" | "right" | "outer" | "unmatched" 可选 |
要执行的联接的类型。 如果您省略 join_type,则默认情况下会执行内部联接。
|
返回
HCL 数据帧。
示例
联接两个数据帧以便发现可能还是供应商的员工
下面的示例使用地址作为公共键列(Address 列和 Vendor_Street 列)联接 employees 数据帧(左)和 vendors 数据帧(右)。
join() 方法创建一个包含匹配的左行和右行的新数据帧,从而生成一个包含任何具有相同地址的员工和供应商的列表。
employee_vendor_match = employees.join(other = vendors, lkey = ["Address"], lcolumns = ["Empno", "First", "Last"], rkey = ["Vendor_Street"], rcolumns = ["Vendor_No", "Vendor_Name"], join_type = "inner")
联接两个数据帧,作为发现不具有匹配客户的应收帐款行的一种方式
下面的示例使用客户编号 (CustNo) 作为公共键列联接 accounts_receivable 数据帧(左)和 customer 数据帧(右)。
join() 方法使用 unmatched 联接类型,用不匹配的左行创建一个新的数据帧,从而产生不与任何 customers 行相关联的 accounts_receivable 行的列表。
customers_not_found = accounts_receivable.join(other = customers, lkey = ["CustNo"], lcolumns = ["Due", "Amount"], rkey = ["CustNo"], join_type = "unmatched")