Método de comparación de DataFrame de Pandas

PythonPythonBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, aprenderá a usar el método compare() de la biblioteca pandas para comparar dos DataFrames y identificar sus diferencias. El método compare() es una forma conveniente de encontrar discrepancias entre dos DataFrames al mostrar los valores diferentes en una comparación lateral.

Consejos sobre la VM

Una vez finalizada la inicialización de la VM, haga clic en la esquina superior izquierda para cambiar a la pestaña Cuaderno y acceder a Jupyter Notebook para practicar.

A veces, es posible que tenga que esperar unos segundos a que Jupyter Notebook termine de cargarse. La validación de las operaciones no se puede automatizar debido a las limitaciones de Jupyter Notebook.

Si tiene problemas durante el aprendizaje, no dude en preguntar a Labby. Deje su retroalimentación después de la sesión y lo resolveremos rápidamente para usted.

Importar las bibliotecas necesarias

Primero, debe importar la biblioteca pandas para usar el método compare(). Ejecute el siguiente código:

import pandas as pd

Crear los DataFrames

A continuación, creará dos DataFrames para comparar. Cada DataFrame debe tener las mismas etiquetas pero puede tener valores diferentes. Ejecute el siguiente código para crear los DataFrames:

df1 = pd.DataFrame([['Abhishek',100,'Science',90], ['Anurag',101,'Science',85]], columns=['Name', 'Roll No', 'Subject', 'Marks'])
df2 = pd.DataFrame([['Abhishek',100,'Maths',95], ['Anurag',101,'Maths',80]], columns=['Name', 'Roll No', 'Subject', 'Marks'])

Comparar los DataFrames

Ahora, puede usar el método compare() para comparar los dos DataFrames y mostrar las diferencias. El método compara los valores entre los dos DataFrames y devuelve un nuevo DataFrame con los valores diferentes lado a lado. Ejecute el siguiente código:

differences = df1.compare(df2)
print(differences)

Modificar los DataFrames y comparar nuevamente

Puede modificar los valores en cualquiera de los DataFrames y compararlos nuevamente para ver las diferencias actualizadas. Ejecute el siguiente código para modificar un valor en el segundo DataFrame:

df2.at[1, 'Marks'] = 85

Luego, ejecute nuevamente el código de comparación del Paso 3 para ver las diferencias actualizadas.

Especificar el eje de alineación y la inclusión de valores iguales

También puede especificar el eje de alineación y la inclusión de valores iguales en el DataFrame resultante. Por defecto, el eje de alineación se establece en 1 (columnas) y los valores iguales no se incluyen. Ejecute el siguiente código para demostrar estas opciones:

differences_axis_0 = df1.compare(df2, align_axis=0)
differences_keep_equal = df1.compare(df2, keep_equal=True)

Resumen

En este laboratorio, aprendiste cómo usar el método compare() en la biblioteca pandas para comparar dos DataFrames. Este método te permite identificar las diferencias entre los DataFrames al mostrar los valores diferentes lado a lado. También aprendiste cómo especificar el eje de alineación y la inclusión de valores iguales en el DataFrame resultante. Ahora puedes usar este conocimiento para comparar y analizar fácilmente las diferencias entre los conjuntos de datos.