Comparando dataframes: encontrando linhas presentes em um, mas não no outro
Comparar dataframes para identificar diferenças é crucial para garantir a qualidade dos dados e mesclar operações. Neste caso, temos dois dataframes (df1 e df2) com uma estrutura específica e precisamos determinar as linhas presentes em df2 mas não em df1.
Inicialmente, tentativas de comparar dataframes usando df1 != df2 resultaram em um erro. Essa abordagem funciona apenas para dataframes com linhas e colunas idênticas. Para encontrar diferenças simétricas, precisamos de uma abordagem diferente.
Um método envolve concatenar os dataframes:
df = pd.concat([df1, df2]) df = df.reset_index(drop=True)
Então, agrupando o dataframe concatenado por todas as colunas:
df_gpby = df.groupby(list(df.columns))
Em seguida, identificamos os registros únicos obtendo os valores do índice onde existe apenas uma linha:
idx = [x[0] for x in df_gpby.groups.values() if len(x) == 1]
Usando esses índices, podemos filtrar o dataframe para obter o resultado desejado:
df.reindex(idx)
Esta abordagem fornece as linhas presentes em df2, mas ausentes em df1 com base na comparação do índice de data e da fruta coluna.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3