Como fazer uma junção à esquerda no pandas (com exemplo)


Você pode usar a seguinte sintaxe básica para realizar uma junção à esquerda no pandas:

 import pandas as pd

df1. merge (df2, on=' column_name ', how=' left ')

O exemplo a seguir mostra como usar essa sintaxe na prática.

Exemplo: como realizar uma junção à esquerda no Pandas

Digamos que temos os dois DataFrames panda a seguir que contêm informações sobre vários times de basquete:

 import pandas as pd

#createDataFrame
df1 = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'],
                    ' points ': [18, 22, 19, 14, 14, 11, 20, 28]})

df2 = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'G', 'H'],
                    ' assists ': [4, 9, 14, 13, 10, 8]})

#view DataFrames
print (df1)

  team points
0 to 18
1 B 22
2 C 19
3 D 14
4 E 14
5 F 11
6 G 20
7:28 a.m.

print (df2)

  team assists
0 to 4
1 B 9
2 C 14
3 D 13
4G 10
5:8 a.m.

Podemos usar o código a seguir para realizar uma junção à esquerda, mantendo todas as linhas do primeiro DataFrame e adicionando todas as colunas correspondentes com base na coluna da equipe no segundo DataFrame:

 #perform left join
df1. merge (df2, on=' team ', how=' left ')

        team points assists
0 to 18 4.0
1 B 22 9.0
2 C 19 14.0
3 D 14 13.0
4 E 14 NaN
5 F 11 NaN
6G 20 10.0
7:28 a.m. 8.0

Cada equipe no DataFrame esquerdo ( df1 ) é retornada no DataFrame mesclado e apenas as linhas no DataFrame direito ( df2 ) que correspondem a um nome de equipe no DataFrame esquerdo são retornadas.

Observe que as duas equipes em df2 (equipes E e F) que não correspondem ao nome de uma equipe em df1 simplesmente retornam um valor NaN na coluna de assistências do DataFrame mesclado.

Observe que você também pode usar pd.merge() com a seguinte sintaxe para retornar exatamente o mesmo resultado:

 #perform left join
p.d. merge (df1, df2, on=' team ', how=' left ')


        team points assists
0 to 18 4.0
1 B 22 9.0
2 C 19 14.0
3 D 14 13.0
4 E 14 NaN
5 F 11 NaN
6G 20 10.0
7:28 a.m. 8.0

Observe que este DataFrame mesclado corresponde ao exemplo anterior.

Nota : Você pode encontrar a documentação completa da função de mesclagem aqui .

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras operações comuns em pandas:

Como realizar um anti-join no Pandas
Como realizar uma junção interna no Pandas
Como realizar uma junção cruzada no Pandas

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *