Nesta aula vou te mostrar como remover duplicatas em Python usando o set e o drop_duplicates de forma personalizada!
Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!
Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:
Fala Impressionadores! Na aula de hoje eu quero te mostrar como remover duplicatas em Python!
Isso é uma atividade comum e você provavelmente não quer ter que remover todas as informações duplicadas de forma manual, não é mesmo?
Então eu vou te mostrar como remover valores duplicados em Python!
Primeiro vou te mostrar como fazer isso em listas em Python utilizando o set.
Então vamos transformar de lista em set e após isso, de set em lista novamente para que o nosso resultado continue a ser uma lista, nesse caso o set no Python não leva em conta a ordem dos nossos dados.
Podemos utilizar o dict.fromkeys para manter a ordem dessas informações e não ter problemas posteriores.
Para finalizar eu vou te mostrar como remover duplicatas de uma base de dados, é algo muito comum e com muitas informações, dai a importância de saber removê-las da melhor forma.
Para isso vamos utilizar a biblioteca pandas Jupyter e vamos utilizar o drop duplicates para remover essas informações duplicadas!
E aí? Vamos aprender!
Como remover valores em duplicatas em uma lista usando o recurso mais simples, o set.
O set é uma estrutura do Python que por padrão só pode ter valores únicos, além disso, você pode transformar qualquer lista em set.
Sintaxe:
Perceba que desta maneira já conseguimos o resultado único de cada elemento, mas perdemos o formato de lista.
Para recuperar o formato de lista vamos fazer da seguinte forma:
Observe que agora conseguimos o formato de lista!
Sets são não-ordenados!
Isso significa que o set não respeita a ordem original da lista, observe que a lista depois do sete segue uma ordem crescente diferente da ordem da lista original.
Como manter a ordem?
Depois da versão 3.7 do Python, as chaves dos dicionários passaram a ser ordenadas, ou seja, elas importam a ordem que a lista possui.
Se a ordem importa para você, ao invés de transformar a lista em um set, você pode transformar sua lista em uma chave de dicionário.
Transformando em chaves, a ordem da lista é mantida e as duplicatas retiradas.
Agora vamos transformar o dicionário em uma lista novamente, queremos o resultado em formato de lista!
Agora vamos aprender a remover duplicatas em uma base de dados, para isso vamos usar o Pandas.
Neste arquivo podemos aplicar o drop_duplicatas para remover as duplicatas:
Observe que quando ele remove as duplicatas ele remove apenas quando todas as colunas são iguais, por isso ele ainda mantêm os 2 iPhone, porque o preço deles difere:
Por padrão ele retira sempre o primeiro valor, mas isso pode ser personalizado, passando para o código dentro dos parênteses qual o valor deve ser mantido:
Neste caso ele manteve o 4º valor da lista.
Como considerar apenas uma coluna para remover duplicatas?
É simples, neste caso podemos passar o nome da coluna entre parênteses e assim a coluna só terá vamos únicos independente do preço.
Se forem várias colunas para referenciar, abra colchetes e discrimine cada uma delas:
Essas são as personalizações que você consegue fazer com drop_duplicates!
Uma das necessidades mais comuns para quem trabalha com dados é saber remover duplicatas, ter uma base dos conceitos básicos de Python para isso é essencial, por este motivo fiz essa aula específica para mostrar como personalizar as várias formas de remover duplicatas!
Para isso usamos como exemplo a remoção de duplicatas e como retornar ao formato de lista usando o set e o drop_duplicates.
A partir de agora você pode utilizar este conhecimento para otimizar seu trabalho em bancos de dados ou listas!
Espero que gostem! Até mais! Abraço,
Para acessar outras publicações de Python, clique aqui!
Expert em conteúdos da Hashtag Treinamentos. Auxilia na criação de conteúdos de variados temas voltados para aqueles que acompanham nossos canais.