Método join()

Com base em uma chave comum, combina colunas de dois dataframes em um único dataframe.

Sintaxe

nome_dataframe_esquerdo.join(other = nome_dataframe_direito, lkey = ["coluna_chave_esquerda", "...n"], lcolumns = ["coluna_esquerda", "...n"], rkey = ["coluna_chave_direita", "...n"], rcolumns = ["coluna_direita", "...n"], join_type = "inner"|"left"|"right"|"outer"|"unmatched")

Parâmetros

Nome Descrição
other = nome_dataframe_direito O nome do dataframe direito.
lkey = ["coluna_chave_esquerda", "...n"]

Uma ou mais colunas-chave no dataframe esquerdo.

As colunas são usadas na ordem em que são listadas. Se mais de uma coluna for usada na associação, as colunas correspondentes devem estar na mesma ordem em lkey e rkey.

Observação

A correspondência entre os valores esquerdos e direitos diferencia maiúsculas de minúsculas. Os valores correspondentes somente serão considerados idênticos se o uso de maiúsculas e minúsculas também for idêntico.

lcolumns = ["coluna_esquerda", "...n"]

opcional

As colunas do dataframe esquerdo a serem incluídas no dataframe de saída associado. As colunas são incluídas na ordem em que são listadas.

Se lcolumns for omitido, todas as colunas do dataframe esquerdo serão incluídas no dataframe de saída associado.

Se você quiser excluir todas as colunas esquerdas, especifique lcolumns = [].

Observação

A coluna ou as colunas lkey são incluídas automaticamente no dataframe de saída. Você não precisa especificá-los novamente em lcolumns.

rkey = ["coluna_chave_direita", "...n"]

Uma ou mais colunas-chave no dataframe direito.

As colunas são usadas na ordem em que são listadas. Se mais de uma coluna for usada na associação, as colunas correspondentes devem estar na mesma ordem em rkey e lkey.

Observação

A correspondência entre os valores esquerdos e direitos diferencia maiúsculas de minúsculas. Os valores correspondentes somente serão considerados idênticos se o uso de maiúsculas e minúsculas também for idêntico.

rcolumns = ["coluna_direita", "...n"]

opcional

As colunas do dataframe direito a serem incluídas no dataframe de saída associado. As colunas são incluídas na ordem em que são listadas.

Se rcolumns for omitido, todas as colunas do dataframe direito serão incluídas no dataframe de saída associado.

Se você quiser excluir todas as colunas direitas, especifique rcolumns = [].

rcolumns é ignorado se você usa o tipo de associação unmatched.

Observação

A coluna ou as colunas rkey são incluídas automaticamente no dataframe de saída. Você não precisa especificá-los novamente em rcolumns.

join_type = "inner" | "left" | "right" | "outer" | "unmatched"

opcional

O tipo de associação a executar.

Se join_type for omitido, será executada uma associação do tipo inner por padrão.

Tipo de associação O dataframe de saída associado contém:

"inner"

Todas as linhas esquerdas correspondentes e todas as linhas direitas correspondentes

Uma linha para cada correspondência entre os dataframes esquerdo e direito

"left"

Todas as linhas esquerdas (correspondentes ou não) e todas as linhas direitas correspondentes

"right"

Todas as linhas direitas (correspondentes ou não) e todas as linhas esquerdas correspondentes

"outer"

Todas as linhas esquerdas e direitas, correspondentes ou não

"unmatched"

Linhas direitas não correspondentes

Retorna

Dataframe do HCL.

Exemplos

Associar dois dataframes como forma de descobrir empregados que também podem ser fornecedores

O exemplo a seguir associa o dataframe employees (esquerdo) e o dataframe vendors (direito) usando o endereço como coluna-chave comum (colunas Address e Vendor_Street).

O método join() cria um dataframe com linhas esquerdas e direitas correspondentes, o que resulta em uma lista com todos os funcionários e fornecedores com o mesmo endereço.

employee_vendor_match = employees.join(other = vendors, lkey = ["Address"], lcolumns = ["Empno", "First", "Last"], rkey = ["Vendor_Street"], rcolumns = ["Vendor_No", "Vendor_Name"], join_type = "inner")

Associar dois dataframes como forma de descobrir linhas de contas a receber sem cliente correspondente

O exemplo a seguir associa o dataframe accounts_receivable (esquerdo) e o dataframe customers (direito) usando o número do cliente (CustNo) como coluna-chave comum.

O método join() usa o tipo de associação unmatched para criar um dataframe com as linhas direitas não correspondentes, o que resulta em uma lista de linhas de accounts_receivable não associadas a nenhuma linha de customers.

customers_not_found = accounts_receivable.join(other = customers, lkey = ["CustNo"], lcolumns = ["Due", "Amount"], rkey = ["CustNo"], join_type = "unmatched")