Este artigo mostra como encontrar duplicatas em dados e remover as duplicatas usando as funções Pandas Python.
Neste artigo, pegamos um conjunto de dados da população de diferentes estados dos Estados Unidos, que está disponível em um .formato de arquivo csv. Vamos ler o .arquivo csv para mostrar o conteúdo original deste arquivo, da seguinte maneira:
importar pandas como pddf_state = pd.read_csv ("C: / Usuários / DELL / Desktop / População_ds.csv ")
imprimir (df_state)
Na captura de tela a seguir, você pode ver o conteúdo duplicado deste arquivo:
Identificando duplicatas no Pandas Python
É necessário determinar se os dados que você está usando têm linhas duplicadas. Para verificar a duplicação de dados, você pode usar qualquer um dos métodos abordados nas seções a seguir.
Método 1:
Leia o arquivo csv e passe-o para o quadro de dados. Em seguida, identifique as linhas duplicadas usando o duplicado () função. Finalmente, use a instrução de impressão para exibir as linhas duplicadas.
importar pandas como pddf_state = pd.read_csv ("C: / Usuários / DELL / Desktop / População_ds.csv ")
Dup_Rows = df_state [df_state.duplicado ()]
print ("\ n \ nDuplicar linhas: \ n ".formato (Dup_Rows))
Método 2:
Usando este método, o is_duplicated coluna será adicionada ao final da tabela e marcada como 'True' no caso de linhas duplicadas.
importar pandas como pddf_state = pd.read_csv ("C: / Usuários / DELL / Desktop / População_ds.csv ")
df_state ["is_duplicate"] = df_state.duplicado ()
imprimir ("\ n ".formato (df_state))
Descartando duplicatas no Pandas Python
Linhas duplicadas podem ser removidas de seu quadro de dados usando a seguinte sintaxe:
drop_duplicates (subset = ", keep =", inplace = False)
Os três parâmetros acima são opcionais e são explicados em mais detalhes a seguir:
guarda: este parâmetro tem três valores diferentes: Primeiro, Último e Falso. O primeiro valor mantém a primeira ocorrência e remove as duplicatas subsequentes, o último valor mantém apenas a última ocorrência e remove todas as duplicatas anteriores, e o valor False remove todas as linhas duplicadas.
subconjunto: rótulo usado para identificar as linhas duplicadas
no lugar: contém duas condições: Verdadeiro e Falso. Este parâmetro removerá as linhas duplicadas se for definido como True.
Remova as duplicatas mantendo apenas a primeira ocorrência
Quando você usa “keep = first”, apenas a ocorrência da primeira linha será mantida, e todas as outras duplicatas serão removidas.
Exemplo
Neste exemplo, apenas a primeira linha será mantida e as duplicatas restantes serão excluídas:
importar pandas como pddf_state = pd.read_csv ("C: / Usuários / DELL / Desktop / População_ds.csv ")
Dup_Rows = df_state [df_state.duplicado ()]
print ("\ n \ n Linhas duplicadas: \ n ".formato (Dup_Rows))
DF_RM_DUP = df_state.drop_duplicates (keep = 'first')
imprimir ('\ n \ nResult DataFrame após remoção duplicada: \ n', DF_RM_DUP.cabeça (n = 5))
Na captura de tela a seguir, a ocorrência da primeira linha retida é destacada em vermelho e as duplicações restantes são removidas:
Remova as duplicatas mantendo apenas a última ocorrência
Quando você usa “keep = last”, todas as linhas duplicadas, exceto a última ocorrência, serão removidas.
Exemplo
No exemplo a seguir, todas as linhas duplicadas são removidas, exceto apenas a última ocorrência.
importar pandas como pddf_state = pd.read_csv ("C: / Usuários / DELL / Desktop / População_ds.csv ")
Dup_Rows = df_state [df_state.duplicado ()]
print ("\ n \ n Linhas duplicadas: \ n ".formato (Dup_Rows))
DF_RM_DUP = df_state.drop_duplicates (keep = 'last')
imprimir ('\ n \ nResult DataFrame após remoção duplicada: \ n', DF_RM_DUP.cabeça (n = 5))
Na imagem a seguir, as duplicatas são removidas e apenas a última ocorrência de linha é mantida:
Remover todas as linhas duplicadas
Para remover todas as linhas duplicadas de uma tabela, defina “keep = False,” da seguinte maneira:
importar pandas como pddf_state = pd.read_csv ("C: / Usuários / DELL / Desktop / População_ds.csv ")
Dup_Rows = df_state [df_state.duplicado ()]
print ("\ n \ n Linhas duplicadas: \ n ".formato (Dup_Rows))
DF_RM_DUP = df_state.drop_duplicates (keep = False)
imprimir ('\ n \ nResult DataFrame após remoção duplicada: \ n', DF_RM_DUP.cabeça (n = 5))
Como você pode ver na imagem a seguir, todas as duplicatas são removidas do quadro de dados:
Remover duplicatas relacionadas de uma coluna especificada
Por padrão, a função verifica todas as linhas duplicadas de todas as colunas no quadro de dados fornecido. Mas, você também pode especificar o nome da coluna usando o parâmetro subset.
Exemplo
No exemplo a seguir, todas as duplicatas relacionadas são removidas da coluna 'Estados'.
importar pandas como pddf_state = pd.read_csv ("C: / Usuários / DELL / Desktop / População_ds.csv ")
Dup_Rows = df_state [df_state.duplicado ()]
print ("\ n \ n Linhas duplicadas: \ n ".formato (Dup_Rows))
DF_RM_DUP = df_state.drop_duplicates (subset = 'State')
imprimir ('\ n \ nResult DataFrame após remoção duplicada: \ n', DF_RM_DUP.cabeça (n = 6))
Conclusão
Este artigo mostrou como remover linhas duplicadas de um quadro de dados usando o drop_duplicates () função no Pandas Python. Você também pode limpar seus dados de duplicação ou redundância usando esta função. O artigo também mostrou como identificar quaisquer duplicatas em seu quadro de dados.