Cómo fusionar dos marcos de datos de Pandas en el índice

A menudo, es posible que desee fusionar dos pandas DataFrames por sus índices. Hay tres formas de hacerlo en pandas:

1. Usar combinación : de forma predeterminada, realiza una combinación a la izquierda.

df1. unirse (df2)

2. Utilice fusionar . De forma predeterminada, esto realiza una combinación interna.

pd. fusionar (df1, df2, left_index = True , right_index = True )

3. Utilice concat . De forma predeterminada, esto realiza una combinación externa.

pd. concat ([df1, df2], eje = 1 )

Los siguientes ejemplos ilustran cómo usar cada una de estas funciones en los siguientes dos pandas DataFrames:

importar pandas como pd

#create first DataFrame
 df1 = pd.DataFrame ({'rating': [90, 85, 82, 88, 94, 90, 76, 75],
                   'puntos': [25, 20, 14, 16, 27, 20, 12, 15]},
                   índice = lista (' abcdefgh '))

imprimir (df1)

   puntos de calificación
a 90 25
b 85 20
c 82 14
d 88 16
e 94 27
f 90 20
g 76 12
h 75 15

#create segundo DataFrame 
df2 = pd.DataFrame ({'asiste': [5, 7, 7, 8, 5, 7],
                   'rebotes': [11, 8, 10, 6, 6, 9]},
                   índice = lista (' acdgmn '))           

imprimir (df2)

   ayuda a los rebotes
a 5 11
c 7 8
d 7 10
g 8 6
m 5 6
n 7 9

Ejemplo 1: Fusionar DataFrames mediante la combinación

El siguiente código muestra cómo usar join () para fusionar los dos DataFrames:

df1. unirse (df2)

        puntos de calificación ayuda a rebotes
a 90 25 5,0 11,0
b 85 20 NaN NaN
c 82 14 7,0 8,0
d 88 16 7,0 10,0
e 94 27 NaN NaN
f 90 20 NaN NaN
g 76 12 8,0 6,0
h 75 15 NaN NaN

La función join () realiza una combinación izquierda de forma predeterminada, por lo que se mantienen cada uno de los índices en el primer DataFrame.

Ejemplo 2: Fusionar DataFrames mediante Fusionar

El siguiente código muestra cómo usar merge () para fusionar los dos DataFrames:

pd. fusionar (df1, df2, left_index = True , right_index = True )
	puntos de calificación ayuda a rebotes
a 90 25 5 11
c 82 14 7 8
d 88 16 7 10
g 76 12 8 6

La función merge () realiza una combinación interna de forma predeterminada, por lo que solo se conservan los índices que aparecen en ambos DataFrames.

Ejemplo 3: Fusionar DataFrames mediante Concat

El siguiente código muestra cómo usar concat () para fusionar los dos DataFrames:

pd. concat ([df1, df2], eje = 1 )

        puntos de calificación ayuda a rebotes
a 90,0 25,0 5,0 11,0
b 85,0 20,0 NaN NaN
c 82,0 14,0 7,0 8,0
d 88,0 16,0 7,0 10,0
e 94,0 27,0 NaN NaN
f 90,0 20,0 NaN NaN
g 76,0 12,0 8,0 6,0
h 75,0 15,0 NaN NaN
m NaN NaN 5,0 6,0
n NaN NaN 7,0 9,0

La función concat () realiza una combinación externa de forma predeterminada, por lo que se mantiene cada valor de índice de cada DataFrame.

Recursos adicionales

Cómo apilar múltiples marcos de datos de Pandas
Cómo insertar una columna en un marco de datos de Pandas

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

Deja un comentario

El sesgo de verificación ocurre cuando los datos para un estudio se recopilan de manera que algunos miembros de una…
statologos comunidad-2

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

You have Successfully Subscribed!