Cómo fusionar Pandas DataFrames en varias columnas

A menudo, es posible que desee fusionar dos Pandas DataFrames en varias columnas. Afortunadamente, esto es fácil de hacer usando la función pandas merge () , que usa la siguiente sintaxis:

pd. fusionar (df1, df2, left_on = ['col1', 'col2'], right_on = ['col1', 'col2'])

Este tutorial explica cómo utilizar esta función en la práctica.

Ejemplo 1: fusionar en varias columnas con diferentes nombres

Supongamos que tenemos los siguientes dos pandas DataFrames:

importar pandas como pd

# crear y ver el primer DataFrame
df1 = pd.DataFrame ({'a1': [0, 0, 1, 1, 2],
                   'b': [0, 0, 1, 1, 1],
                   'c': [11, 8, 10, 6, 6]})

imprimir (df1)

   a1 bc
0 0 0 11
1 0 0 8
2 1 1 10
3 1 1 6
4 2 1 6

#create y visualiza el segundo DataFrame 
df2 = pd.DataFrame ({'a2': [0, 1, 1, 1, 3],
                   'b': [0, 0, 0, 1, 1],
                   'd': [22, 24, 25, 33, 37]})

imprimir (df2)

   a2 bd
0 0 0 22
1 1 0 24
2 1 0 25
3 1 1 33
4 3 1 37

El siguiente código muestra cómo realizar una combinación a la izquierda utilizando varias columnas de ambos DataFrames:

pd. fusionar (df1, df2, how = ' left ', left_on = [' a1 ', ' b '], right_on = [' a2 ', ' b '])


        a1 b c a2 d
0 0 0 11 0,0 22,0
1 0 0 8 0,0 22,0
2 1 1 10 1,0 33,0
3 1 1 6 1,0 33,0
4 2 1 6 NaN NaN

Ejemplo 2: fusionar en varias columnas con los mismos nombres

Supongamos que tenemos los siguientes dos pandas DataFrames con los mismos nombres de columna:

importar pandas como pd

#create DataFrames
df1 = pd.DataFrame ({'a': [0, 0, 1, 1, 2],
                   'b': [0, 0, 1, 1, 1],
                   'c': [11, 8, 10, 6, 6]})

df2 = pd.DataFrame ({'a': [0, 1, 1, 1, 3],
                   'b': [0, 0, 0, 1, 1],
                   'd': [22, 24, 25, 33, 37]})

En este caso, podemos simplificar el uso en = [‘a’, ‘b’] ya que los nombres de las columnas son los mismos en ambos DataFrames:

pd. fusionar (df1, df2, how = ' left ', on = [' a ', ' b '])

	a B C D
0 0 0 11 22,0
1 0 0 8 22,0
2 1 1 10 33,0
3 1 1 6 33,0
4 2 1 6 NaN

Recursos adicionales

Cómo fusionar dos Pandas DataFrames en el índice
Cómo apilar múltiples Pandas DataFrames

  • https://r-project.org
  • https://www.python.org/
  • https://www.stata.com/

Deja un comentario

Una media móvil es simplemente la media de un cierto número de períodos anteriores en una serie de tiempo. Para…
statologos comunidad-2

Compartimos información EXCLUSIVA y GRATUITA solo para suscriptores (cursos privados, programas, consejos y mucho más)

You have Successfully Subscribed!