Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Dúvida] Dúvida sobre o Duplicated()

Imagino que que essa função percorra todos os campos para indicar se essa linhas é igual a outra, porém tive uma dúvida.

Algumas vezes um Left Join pode duplicar algumas chaves e pode ser que apenas um campo não se repita.

Como eu faço para conferir se uma linha é duplicada até a coluna X?

Por exemplo, tenho uma tabela A com as Colunas 'ID' e 'Nome' e a tabela B com as Colunas 'ID' e 'Compra'. E no caso deveria ter apenas 1 registro de compra para cada 'ID' da tabela A, porém por algum motivo tem dois. Como eu faço para ele remover a duplicada levando em conta apenas as colunas 'ID' e 'Nome'?

2 respostas
solução!

Olá Romeu,

Ótima dúvida! No pandas, a função .duplicated() é realmente utilizada para identificar registros duplicados em um DataFrame.

Como funciona o duplicated():

  • Ele identifica se uma linha já apareceu anteriormente no DataFrame e retorna True para duplicatas.
  • Por padrão, a verificação considera todas as colunas.

Como identificar duplicatas considerando colunas específicas:

Você pode verificar duplicatas com base apenas em colunas como 'ID' e 'Nome' ao especificar essas colunas no parâmetro correto.

Removendo duplicatas:

Se você quiser remover as duplicatas, pode utilizar uma função que mantém apenas o primeiro registro encontrado, eliminando as repetições subsequentes.

Cenário prático:

Se você tem uma tabela onde cada cliente (ID) deve ter um único nome associado, você pode usar essa abordagem para identificar entradas repetidas com o mesmo 'ID' e 'Nome', ignorando outras colunas, como o valor da compra.

Essa abordagem é muito útil quando o problema ocorre após operações como joins (como um left join), onde podem surgir registros duplicados de forma não intencional.

Espero ter ajudado! Se precisar de mais detalhes ou outra abordagem, estou à disposição!

Opa, fala Lucas. Blz?

Valeu pela informação. Fui na documentação e vi o mencionou.

pandas.DataFrame.duplicated

DataFrame.duplicated(subset=None, keep='first') Return boolean Series denoting duplicate rows.

Considering certain columns is optional.

Parameters : subset column label or sequence of labels, optional Only consider certain columns for identifying duplicates, by default use all of the columns.

keep {‘first’, ‘last’, False}, default ‘first’ Determines which duplicates (if any) to mark.

first : Mark duplicates as True except for the first occurrence.

last : Mark duplicates as True except for the last occurrence.

False : Mark all duplicates as True.

Brigadão.