- 0
- 0
- 0
- 0
A menudo, es posible que le interese comparar los valores entre dos marcos de datos pandas para detectar sus similitudes y diferencias.
Este tutorial explica cómo hacerlo.
Ejemplo: comparar dos DataFrames en Pandas
Supongamos que tenemos los siguientes dos pandas DataFrames, cada uno de los cuales contiene datos sobre cuatro jugadores de baloncesto:
importar pandas como pd #define DataFrame 1 df1 = pd. DataFrame ({'jugador': ['A', 'B', 'C', 'D'], 'puntos': [12, 15, 17, 24], 'asiste': [4, 6, 7, 8]}) df1 puntos de jugador asiste 0 A 12 4 1 B 15 6 2 C 17 7 3 D 24 88 #define DataFrame 2 df2 = pd. DataFrame ({'jugador': ['A', 'B', 'C', 'D'], 'puntos': [12, 24, 26, 29], 'asiste': [7, 8, 10, 13]}) df2 puntos de jugador asiste 0 A 12 7 1 B 24 8 2 C 26 10 3 D 29 13
Ejemplo 1: averigüe si los dos DataFrames son idénticos.
Primero podemos averiguar si los dos DataFrames son idénticos usando la función DataFrame.equals () :
#ver si dos DataFrames son idénticos df1. es igual a (df2) Falso
Los dos DataFrames no contienen exactamente los mismos valores, por lo que esta función devuelve False correctamente .
Ejemplo 2: encuentre las diferencias en las estadísticas de los jugadores entre los dos DataFrames.
Podemos encontrar las diferencias entre las asistencias y los puntos para cada jugador usando la función pandas subtract () :
#Restar df1 de df2 df2. set_index ('jugador'). restar (df1.set_index ('jugador')) puntos asiste jugador A 0 3 B 9 2 C 9 3 D 5 5
La forma de interpretar esto es la siguiente:
- El jugador A tuvo la misma cantidad de puntos en ambos DataFrames, pero tuvo 3 asistencias más en DataFrame 2.
- El jugador B tuvo 9 puntos más y 2 asistencias más en DataFrame 2 en comparación con DataFrame 1.
- El jugador C tuvo 9 puntos más y 3 asistencias más en DataFrame 2 en comparación con DataFrame 1.
- El jugador D tuvo 5 puntos más y 5 asistencias más en DataFrame 2 en comparación con DataFrame 1.
Ejemplo 3: busque todas las filas que solo existen en un DataFrame.
Podemos usar el siguiente código para obtener una lista completa de filas que solo aparecen en un DataFrame:
#outer fusiona los dos DataFrames, agregando una columna indicadora llamada 'Exist' diff_df = pd. fusionar (df1, df2, cómo = ' exterior ', indicador = ' Existir ') # encontrar qué filas no existen en ambos DataFrames diff_df = diff_df. loc [diff_df [' Exist ']! = ' both '] diff_df puntos de jugador asiste existe 0 A 12 4 izquierda_sólo 1 B 15 6 izquierda_sólo 2 C 17 7 izquierda_sólo 3 D 24 8 izquierda_sólo 4 A 12 7 right_only 5 B 24 8 solo a la derecha 6 C 26 10 right_only 7 D 29 13 sólo a la derecha
En este caso, los dos DataFrames no comparten filas idénticas, por lo que hay 8 filas en total que solo aparecen en uno de los DataFrames.
La columna titulada «Exist» nos dice convenientemente en qué DataFrame aparece cada fila de forma única.
- https://r-project.org
- https://www.python.org/
- https://www.stata.com/
¿Te hemos ayudado?
Ayudanos ahora tú, dejanos un comentario de agradecimiento, nos ayuda a motivarnos y si te es viable puedes hacer una donación:La ayuda no cuesta nada
Por otro lado te rogamos que compartas nuestro sitio con tus amigos, compañeros de clase y colegas, la educación de calidad y gratuita debe ser difundida, recuerdalo: