Cómo hacer una búsqueda virtual en Python usando pandas

Vlookup se usa esencialmente para datos dispuestos verticalmente. Vlookup es una operación utilizada para fusionar 2 tablas de datos diferentes en función de alguna condición en la que debe haber al menos 1 atributo común (columna) entre las dos tablas. Después de realizar esta operación, obtenemos una tabla que consta de todos los datos de ambas tablas para las que se comparan los datos.
Podemos usar la función merge() para realizar Vlookup en pandas. La función de fusión hace el mismo trabajo que Join en SQL. Podemos realizar la operación de fusión con respecto a la tabla 1 o la tabla 2. Puede haber diferentes formas de fusionar las 2 tablas.
 

Sintaxis: dataframe.merge(dataframe1, dataframe2, cómo, en, copiar, indicador, sufijos, validar)
Parámetros:  
datafram1: objeto de dataframe con el que se fusionará. 
dataframe2: objeto de marco de datos que se fusionará. 
cómo: {izquierda, derecha, interior, exterior} especifica cómo se realizará la fusión 
en: especifica los nombres de columna o índice utilizados para realizar la unión. 
sufijos: sufijo utilizado para columnas superpuestas. Para excepciones, utilice valores (Falso, Falso). 
validar: si se especifica, comprueba el tipo de fusión. El tipo de fusión podría ser (uno-uno, uno-muchos, muchos-uno, muchos-muchos). 
 

Consideremos 2 tablas en las que se realizará la operación. La primera tabla consta de la información de los estudiantes y la segunda columna consta de la información de los respectivos cursos en los que están inscritos. El siguiente código indica la información contenida en ambas tablas.
 

Python3

# import pandas
import pandas as pd
  
# read csv data
df1 = pd.read_csv('Student_data.csv')
df2 = pd.read_csv('Course_enrolled.csv')
  
print(df1)
print(df2)

Producción
 

Realizar un Vlook en diferentes tipos de uniones

  • Unión interna: la unión interna produce un marco de datos de salida de solo aquellas filas para las que se cumple la condición en ambas filas. Para realizar una unión interna , puede especificar internal como una palabra clave en cómo.
    Ejemplo:
     

Python3

# import pandas
import pandas as pd
   
# read csv data
df1 = pd.read_csv('Student_data.csv')
df2 = pd.read_csv('Course_enrolled.csv')
   
inner_join = pd.merge(df1, 
                      df2, 
                      on ='Name', 
                      how ='inner')
inner_join
  • Producción
  • Unión izquierda: la operación de unión izquierda proporciona todas las filas del primer marco de datos y las filas coincidentes del segundo marco de datos. Si las filas no coinciden en el segundo marco de datos, serán reemplazadas por NaN.
    Ejemplo:
     

Python3

# import pandas
import pandas as pd
   
# read csv data
df1 = pd.read_csv('Student_data.csv')
df2 = pd.read_csv('Course_enrolled.csv')
   
Left_join = pd.merge(df1, 
                     df2, 
                     on ='Name', 
                     how ='left')
Left_join
  • Producción:
  • Unión derecha: la unión derecha es algo similar a la unión izquierda en la que el marco de datos de salida consistirá en todas las filas del segundo marco de datos y las filas coincidentes del primer marco de datos. Si las filas no coinciden en la primera fila, serán reemplazadas por NaN
     

Python3

# import pandas
import pandas as pd
   
# read csv data
df1 = pd.read_csv('Student_data.csv')
df2 = pd.read_csv('Course_enrolled.csv')
   
Right_join = pd.merge(df1, 
                      df2, 
                      on ='Name',
                      how ='right')
Right_join
  • Producción
  • Combinación externa : la combinación externa proporciona el marco de datos de salida que consta de filas de ambos marcos de datos. Los valores se mostrarán si las filas coinciden; de lo contrario, se mostrará NaN para las filas que no coincidan.
    Ejemplo:
     

Python3

# import pandas
import pandas as pd
   
# read csv data
df1 = pd.read_csv('Student_data.csv')
df2 = pd.read_csv('Course_enrolled.csv')
   
Outer_join = pd.merge(df1, 
                      df2, 
                      on ='Name', 
                      how ='outer')
Outer_join
  • Producción

Publicación traducida automáticamente

Artículo escrito por KaranGupta5 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *