Veamos cómo unir dos Pandas DataFrames usando la merge()
función.
unir()
Sintaxis: DataFrame.merge (parámetros)
Parámetros:
- derecha: trama de datos o serie nombrada
- cómo: {‘izquierda’, ‘derecha’, ‘exterior’, ‘interior’}, por defecto ‘interior’
- en: etiqueta o lista
- left_on : etiqueta o lista, o tipo array
- right_on : etiqueta o lista, o tipo array
- índice_izquierdo: booleano , predeterminado Falso
- right_index : bool, por defecto Falso
- ordenar: booleano, por defecto Falso
- sufijos: tupla de (str, str), por defecto (‘_x’, ‘_y’)
- copiar: bool, por defecto Verdadero
- indicador: bool o str, por defecto Falso
- validar: str, opcional
Devoluciones: un marco de datos de los dos objetos combinados.
Ejemplo 1: fusionar dos marcos de datos con el mismo número de elementos:
# importing the module import pandas as pd # creating the first DataFrame df1 = pd.DataFrame({"fruit" : ["apple", "banana", "avocado"], "market_price" : [21, 14, 35]}) display("The first DataFrame") display(df1) # creating the second DataFrame df2 = pd.DataFrame({"fruit" : ["banana", "apple", "avocado"], "wholesaler_price" : [65, 68, 75]}) display("The second DataFrame") display(df2) # joining the DataFrames display("The merged DataFrame") pd.merge(df1, df2, on = "fruit", how = "inner")
Producción :
Ejemplo 2: Fusionar dos Dataframe con diferente número de elementos:
# importing the module import pandas as pd # creating the first DataFrame df1 = pd.DataFrame({"fruit" : ["apple", "banana", "avocado", "grape"], "market_price" : [21, 14, 35, 38]}) display("The first DataFrame") display(df1) # creating the second DataFrame df2 = pd.DataFrame({"fruit" : ["apple", "banana", "grape"], "wholesaler_price" : [65, 68, 71]}) display("The second DataFrame") display(df2) # joining the DataFrames # here both common DataFrame elements are in df1 and df2, # so it extracts apple, banana, grapes from df1 and df2. display("The merged DataFrame") pd.merge(df1, df2, on = "fruit", how = "inner")
Producción :
Si usamos how = "Outer"
, devuelve todos los elementos en df1 y df2, pero si la columna del elemento es nula, su valor de retorno es NaN.
pd.merge(df1, df2, on = "fruit", how = "outer")
Producción :
Si usamos how = "left"
, devuelve todos los elementos que se presentan en el DataFrame izquierdo.
pd.merge(df1, df2, on = "fruit", how = "left")
Producción :
Si usamos how = "right"
, devuelve todos los elementos que se presentan en el DataFrame correcto.
pd.merge(df1, df2, on = "fruit", how = "right")
Producción :
Publicación traducida automáticamente
Artículo escrito por kumar_satyam y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA