Como fazer uma junção interna no pandas (com exemplo)
Você pode usar a seguinte sintaxe básica para realizar uma junção interna no pandas:
import pandas as pd df1. merge (df2, on=' column_name ', how=' inner ')
O exemplo a seguir mostra como usar essa sintaxe na prática.
Exemplo: como realizar uma junção interna 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 seguinte código para realizar uma junção interna, que mantém apenas as linhas onde o nome da equipe aparece em ambos os DataFrames:
#perform left join
df1. merge (df2, on=' team ', how=' inner ')
team points assists
0 to 18 4
1 B 22 9
2 C 19 14
3 D 14 13
4 G 20 10
5:28 8
As únicas linhas contidas no DataFrame mesclado são aquelas em que o nome da equipe aparece em ambos os DataFrames.
Observe que duas equipes foram removidas (equipes E e F) porque não apareceram em ambos os DataFrames.
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=' inner ')
team points assists
0 to 18 4
1 B 22 9
2 C 19 14
3 D 14 13
4 G 20 10
5:28 8
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 fazer uma junção à esquerda no Pandas
Como mesclar Pandas DataFrames em várias colunas
Pandas Join or Merge: Qual é a diferença?