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

Add a Comment

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