"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como encontrar linhas presentes em um dataframe, mas não em outro (comparando df1 e df2)?

Como encontrar linhas presentes em um dataframe, mas não em outro (comparando df1 e df2)?

Publicado em 2024-11-07
Navegar:767

How to Find Rows Present in One Dataframe but Not in Another (Comparing df1 and df2)?

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.

Declaração de lançamento Este artigo foi reimpresso em: 1729343178 Se houver alguma violação, entre em contato com [email protected] para excluí-lo
Tutorial mais recente Mais>

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