Cómo fusionar Pandas DataFrames en varias columnas

Puedes opinar sobre este contenido:
  • 0
  • 0
  • 0
  • 0

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/

Redactor del artículo

  • Luis Benites
    Director de Statologos.com

    Tengo una Maestría en Ciencias en Estadística Aplicada y he trabajado en algoritmos de aprendizaje automático para empresas profesionales tanto en el sector de la salud como en el comercio minorista.

    Ver todas las entradas

¿Te hemos ayudado?

Ayudanos ahora tú, dejanos un comentario de agradecimiento, nos ayuda a motivarnos y si te es viable puedes hacer una donación:

La ayuda no cuesta nada

Por otro lado te rogamos que compartas nuestro sitio con tus amigos, compañeros de clase y colegas, la educación de calidad y gratuita debe ser difundida, recuerdalo:

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!