Pandas join or merge: qual é a diferença?
As funções join() e merge() podem ser usadas para combinar dois DataFrames do pandas.
Aqui está a principal diferença entre as duas funções:
- A função join() combina dois DataFrames por índice.
- A função merge() combina dois DataFrames com base na coluna que você especifica.
Essas funções usam a seguinte sintaxe básica:
#use join() to combine two DataFrames by index df1. join (df2) #use merge() to combine two DataFrames by specific column name df1. merge (df2,on=' column_name ')
Nos casos em que você deseja unir dois DataFrames por índice, a função join() pode ser usada para economizar digitação.
Os exemplos a seguir mostram como usar cada função na prática.
Exemplo 1: Como usar a função join()
O código a seguir mostra como usar a função join() para combinar dois DataFrames:
import pandas as pd #create two DataFrames df1 = pd. DataFrame ({' name ': ['A', 'B', 'C'], ' points ': [8, 12, 19]}). set_index (' name ') df2 = pd. DataFrame ({' name ': ['A', 'B', 'C'], ' steals ': [4, 5, 2]}). set_index (' name ') #view two DataFrames print (df1); print (df2) steal points name name A 8 A 4 B 12 B 5 C 19 C 2 #use join() function to join together two DataFrames df1. join (df2) steal points name At 8 4 B 12 5 C 19 2
Por padrão, a função join() uniu os dois DataFrames usando a coluna de índice.
Exemplo 2: Como usar a função merge()
O código a seguir mostra como usar a função merge() para combinar dois DataFrames:
import pandas as pd #create two DataFrames df1 = pd. DataFrame ({' name ': ['A', 'B', 'C'], ' points ': [8, 12, 19]}). set_index (' name ') df2 = pd. DataFrame ({' name ': ['A', 'B', 'C'], ' steals ': [4, 5, 2]}). set_index (' name ') #view two DataFrames print (df1); print (df2) steal points name name A 8 A 4 B 12 B 5 C 19 C 2 #use join() function to join together two DataFrames df1. merge (df2, on=' name ') steal points name At 8 4 B 12 5 C 19 2
Observe que a função merge() retornou exatamente o mesmo resultado, mas tivemos que dizer explicitamente aos pandas para juntarem-se aos DataFrames usando a coluna “nome”.
Recursos adicionais
Você pode encontrar a documentação online completa para as funções join() e merge() aqui:
Documentação para a função join()
Documentação para a função merge()
Os tutoriais a seguir explicam como executar outras funções comuns em pandas:
Como adicionar linhas a um DataFrame do Pandas
Como adicionar uma linha de cabeçalho ao Pandas DataFrame
Como obter a primeira linha do Pandas DataFrame
Como obter a primeira coluna do Pandas DataFrame