Limpeza de Arquivos CSV
Quando começamos a trabalhar com análise de dados, uma das primeiras coisas que aprendemos é como limpar um conjunto de dados. Embora pareça básico, é uma das habilidades mais importantes que usaremos novamente e novamente. O fato é que, mesmo como profissionais, passaremos muito tempo limpando dados em vez de analisá-los, construir modelos ou avaliar resultados. Por quê? Porque os dados brutos raramente estão limpos. Eles podem ter valores ausentes, formatos errados, linhas duplicadas, strings desorganizadas, datas inválidas, categorias estranhas e entradas barulhentas. Antes de podermos entender o que os dados estão nos contando, precisamos corrigir esses problemas. Neste guia, vamos limpar um arquivo CSV de clientes desorganizado usando Python e pandas. Vamos começar carregando e inspecionando os dados, então limpar os nomes das colunas, lidar com valores ausentes, remover duplicatas, padronizar o texto, converter tipos de dados, validar e-mails e salvar o arquivo CSV final limpo.
O primeiro passo é carregar o conjunto de dados desorganizado em pandas. Estamos usando um arquivo CSV de clientes que tem problemas comuns de qualidade de dados. Como podemos ver, o arquivo inclui nomes de colunas desorganizados, formatação de texto inconsistente, formatos de data mistos, valores ausentes, linhas duplicadas e números armazenados como texto. Antes de começarmos a limpar, precisamos entender o que realmente está dentro do conjunto de dados. Isso nos dá uma visão geral rápida do conjunto de dados antes de fazer qualquer alteração. Podemos ver que o conjunto de dados tem 10 linhas e 8 colunas. Os nomes das colunas estão desorganizados porque alguns deles têm espaços extras e letras maiúsculas e minúsculas inconsistentes. Também podemos ver que todas as colunas são armazenadas como objetos, o que geralmente significa que pandas as está tratando como texto. A verificação de duplicatas também mostra que há 1 linha duplicada exata. Isso é útil para saber desde cedo, pois registros duplicados podem afetar a análise final.
Agora que sabemos que os nomes das colunas estão desorganizados, vamos limpá-los primeiro. Isso remove espaços extras dos nomes das colunas, converte tudo para letras minúsculas e substitui espaços por sublinhados. Agora os nomes das colunas são muito mais fáceis de trabalhar. Em vez de escrever nomes com espaços, como “Endereço de E-mail”, podemos simplesmente usar “endereco_de_email”. Isso torna o código mais limpo e ajuda a evitar pequenos erros mais tarde. Em seguida, vamos substituir valores em branco e placeholders comuns por valores ausentes apropriados. Arquivos CSV do mundo real frequentemente mostram dados ausentes de diferentes maneiras. Algumas células estão em branco, algumas usam “N/A” e algumas usam valores como “desconhecido” ou “não é uma data”. Convertemos todos esses em valores ausentes apropriados para que pandas possa detectá-los corretamente. Depois dessa etapa, fica mais fácil contar, preencher ou remover valores ausentes mais tarde.
Agora vamos remover linhas duplicadas exatas do conjunto de dados. Linhas duplicadas podem criar problemas na análise porque o mesmo registro pode ser contado mais de uma vez. Aqui, tínhamos 10 linhas antes de remover duplicatas e 9 linhas depois. Isso significa que uma linha duplicada exata foi removida do conjunto de dados. Em seguida, vamos limpar as colunas baseadas em texto para que os valores sejam mais consistentes. Colunas de texto geralmente precisam de limpeza extra porque as pessoas escrevem o mesmo tipo de informação de diferentes maneiras. Nesta etapa, removemos espaços extras de “id_do_cliente”, “nome_completo”, “endereco_de_email”, “cidade” e “membro”. Em seguida, limpamos a formatação para que os nomes e cidades usem letras maiúsculas e minúsculas e os endereços de e-mail e valores de membro usem letras minúsculas. Isso torna o conjunto de dados mais fácil de ler e também nos ajuda a evitar problemas de categoria mais tarde. Por exemplo, “Ouro”, “OURO” e “ouro” devem ser tratados como o mesmo valor de membro.
Agora vamos limpar a coluna “membro” para que ela contenha apenas categorias válidas. Isso garante que a coluna “membro” contenha apenas os valores que esperamos. Neste conjunto de dados, os tipos de membro válidos são “bronze”, “prata” e “ouro”. Qualquer valor fora dessas categorias, como “platina”, é substituído por um valor ausente para que possamos lidar com ele mais tarde. Em seguida, vamos converter a coluna “idade” de texto para números. A coluna “idade” estava armazenada como texto, então precisamos convertê-la em uma coluna numérica antes de usá-la para análise. Também removemos valores que não fazem sentido, como idades negativas ou idades acima de 120. Qualquer idade inválida é convertida em um valor ausente, que vamos corrigir mais tarde.
Agora vamos limpar a coluna “data_de_admissao”. Datas frequentemente estão desorganizadas em arquivos CSV porque podem aparecer em diferentes formatos. Esta etapa converte a coluna “data_de_admissao” em uma coluna de data e hora apropriada. Usamos “misturado” porque as datas neste arquivo não seguem todos o mesmo formato. Qualquer data inválida é convertida em um valor ausente. Em seguida, vamos limpar a coluna “gasto_total”. A coluna “gasto_total” contém símbolos de moeda, vírgulas e valores de texto, então pandas não pode tratá-la como um número ainda. Esta etapa remove tudo, exceto números, pontos decimais e símbolos de moeda. Isso torna a coluna “gasto_total” mais fácil de trabalhar e analisar. Com essas etapas, agora temos um arquivo CSV limpo e pronto para análise.
Limpar arquivos CSV é uma tarefa importante na análise de dados.