Comparación de marcos de datos: encontrar filas presentes en uno pero no en el otro
Comparar marcos de datos para identificar diferencias es crucial para garantizar la calidad de los datos y fusionarlos operaciones. En este caso, tenemos dos marcos de datos (df1 y df2) con una estructura específica y necesitamos determinar las filas presentes en df2 pero no en df1.
Inicialmente, los intentos de comparar marcos de datos usando df1! = df2 dieron como resultado un error. Este enfoque sólo funciona para marcos de datos con filas y columnas idénticas. Para encontrar diferencias simétricas, necesitamos un enfoque diferente.
Un método implica concatenar los marcos de datos:
df = pd.concat([df1, df2]) df = df.reset_index(drop=True)
Luego, agrupando el marco de datos concatenado por todas las columnas:
df_gpby = df.groupby(list(df.columns))
A continuación, identificamos los registros únicos obteniendo los valores de índice donde solo existe una fila:
idx = [x[0] for x in df_gpby.groups.values() if len(x) == 1]
Usando estos índices, podemos filtrar el marco de datos para obtener el resultado deseado:
df.reindex(idx)
Este enfoque proporciona las filas presentes en df2 pero ausentes en df1 basado en la comparación del índice de fecha y la columna de fruta.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3