Podemos fusionar dos Pandas DataFrames en ciertas columnas usando la función de fusión simplemente especificando ciertas columnas para fusionar.
Sintaxis: DataFrame.merge(right, how=’inner’, on=Ninguno, left_on=Ninguno, right_on=Ninguno, left_index=False, right_index=False, sort=False, copy=True, indicador=False, validar=Ninguno)
Ejemplo 1: vamos a crear un marco de datos y luego fusionarlos en un solo marco de datos.
Creación de un marco de datos:
Python3
# importing modules import pandas as pd # creating a dataframe df1 = pd.DataFrame({'Name':['Raju', 'Rani', 'Geeta', 'Sita', 'Sohit'], 'Marks':[80, 90, 75, 88, 59]}) # creating another dataframe with different data df2 = pd.DataFrame({'Name':['Raju', 'Divya', 'Geeta', 'Sita'], 'Grade':['A', 'A', 'B', 'A'], 'Rank':[3, 1, 4, 2 ], 'Gender':['Male', 'Female', 'Female', 'Female']}) # display df1 display(df1) # display df2 display(df2)
Producción:
Ahora combine el marco de datos:
Python3
# applying merge df1.merge(df2[['Name', 'Grade', 'Rank']])
Producción:
El marco de datos resultante contiene todas las columnas de df1 pero ciertas columnas especificadas de df2 con la columna de clave Nombre, es decir, la columna resultante contiene la columna Nombre, Marcas, Grado, Rango. Ambos marcos de datos tienen un número diferente de valores, pero solo los valores comunes en ambos marcos de datos se muestran después de la fusión.
Ejemplo 2: en el marco de datos resultante, la columna Grado de df2 se fusiona con df1 en función del nombre de la columna clave con el tipo de fusión a la izquierda, es decir, se mostrarán todos los valores del marco de datos izquierdo (df1).
Python3
# importing modules import pandas as pd # creating a dataframe df1 = pd.DataFrame({'Name':['Raju', 'Rani', 'Geeta', 'Sita', 'Sohit'], 'Marks':[80, 90, 75, 88, 59]}) # creating another dataframe with different data df2 = pd.DataFrame({'Name':['Raju', 'Divya', 'Geeta', 'Sita'], 'Grade':['A', 'A', 'B', 'A'], 'Rank':[3, 1, 4, 2 ], 'Gender':['Male', 'Female', 'Female', 'Female']}) # display df1 display(df1) # display df2 display(df2) # applying merge with more parameters df1.merge(df2[['Grade', 'Name']], on = 'Name', how = 'left')
Producción:
Ejemplo 3: En este ejemplo, hemos fusionado df1 con df2. La columna Marcas de df1 se fusiona con df2 y aquí solo se muestran los valores comunes basados en el nombre de la columna clave en ambos marcos de datos.
Python3
# importing modules import pandas as pd # creating a dataframe df1 = pd.DataFrame({'Name':['Raju', 'Rani', 'Geeta', 'Sita', 'Sohit'], 'Marks':[80, 90, 75, 88, 59]}) # creating another dataframe with different data df2 = pd.DataFrame({'Name':['Raju', 'Divya', 'Geeta', 'Sita'], 'Grade':['A', 'A', 'B', 'A'], 'Rank':[3, 1, 4, 2 ], 'Gender':['Male', 'Female', 'Female', 'Female']}) # display df1 display(df1) # display df2 display(df2) # applying merge with more parameters df2.merge(df1[['Marks', 'Name']])
Producción:
Publicación traducida automáticamente
Artículo escrito por neelutiwari y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA