Python
Processamento dos dados
A limpeza de dados é um processo essencial na análise de dados, pois garante a qualidade e a confiabilidade dos resultados obtidos.
- Precisão dos resultados: Dados sujos ou inconsistentes podem levar a conclusões incorretas ou imprecisas. Ao limpar os dados, você elimina erros e inconsistências, garantindo que os resultados da análise sejam confiáveis e precisos.
- Tomada de decisão confiável: Os dados são a base para a tomada de decisões informadas. Se os dados utilizados na análise não forem limpos, as decisões baseadas neles podem ser equivocadas, o que pode ter consequências negativas. A limpeza dos dados permite que você tome decisões confiáveis, baseadas em informações corretas e consistentes.
- Melhoria da qualidade dos dados: A limpeza dos dados não apenas remove erros, mas também melhora a qualidade geral dos dados. Ao identificar e corrigir erros, você pode padronizar os formatos, corrigir valores inconsistentes e preencher lacunas nos dados ausentes. Isso resulta em conjuntos de dados mais completos e consistentes, permitindo análises mais robustas.
- Eficiência na análise: Dados sujos podem dificultar a análise. Por exemplo, informações ausentes ou incompletas podem exigir tratamentos especiais durante a análise, consumindo tempo e recursos adicionais. Ao limpar os dados previamente, você economiza tempo e esforço durante a análise, tornando o processo mais eficiente.
- Conformidade com regulamentos: Em muitos setores e áreas, existem regulamentos e normas específicas relacionadas à privacidade e segurança dos dados. A limpeza dos dados ajuda a garantir a conformidade com essas regulamentações, removendo informações sensíveis ou pessoalmente identificáveis, protegendo a privacidade dos indivíduos e evitando penalidades legais.
- Preparação para análises avançadas: Em alguns casos, a limpeza dos dados é um passo necessário antes de aplicar técnicas de análise mais avançadas, como aprendizado de máquina ou mineração de dados. A qualidade e a consistência dos dados são fundamentais para o sucesso dessas análises, pois algoritmos complexos podem ser sensíveis a dados sujos.
Em resumo, a limpeza de dados é um componente crítico na análise de dados, pois garante a confiabilidade, a precisão e a qualidade dos resultados. Ao investir tempo e esforço na limpeza dos dados, você estabelece uma base sólida para a análise, tornando-a mais eficiente, confiável e relevante para a tomada de decisões informadas.
Nesta sessão apresentamos situações que os dados apresentam inconsistências e precisam ser corrigidos, bem como manipulações de tais dados.
Verificação inicial do data frame
Após a importação, verifique a estrutura de dados e outros atributos com estas funções exploratórias:
Verificar nome das colunas e linhas e mudar o nome:
Apagar uma coluna
Voltando para nosso conjunto de dados df, foi constatado que os NAs presentes, na verdade correspondem a um valor fixo de 0.5, que não foi contabilizado e agora precisa ser corrigido. Toda vez que esse valor estava presente, foi substituido por NA.
Manipulando NAs
Através da indexação, podemos verifcar os NAs, com auxílio da lógica no R.
O is.na retorna um vetor lógico e pode ser usado para indexar o data frame ou apenas uma variável:
É possível também operar vários vetores lógicos para retornar os NAs em mais de uma variável:
O teste lógico utiliza o operador “|” (ou) entre vetores lógicos, seguindo a regra de equivalência. Ele retorna TRUE se pelo menos um dos vetores tiver o valor TRUE na mesma posição. O resultado será FALSE apenas se os vetores tiverem o valor FALSE na mesma posição. No final, o vetor resultante terá o valor TRUE quando algum dos itens colocados tiver NA na posição correspondente.
Podemos agora, salvar esse objeto com os valores lógicos e sobreescrever os NAs com o valor 0.5 nas posições onde está o valor incorreto.
O teste lógico utiliza o operador “|” (ou) entre vetores lógicos, seguindo a regra de equivalência. Ele retorna TRUE se pelo menos um dos vetores tiver o valor TRUE na mesma posição. O resultado será FALSE apenas se os vetores tiverem o valor FALSE na mesma posição. No final, o vetor resultante terá o valor TRUE quando algum dos itens colocados tiver NA na posição correspondente.
Podemos agora, salvar esse objeto com os valores lógicos e sobreescrever os NAs com o valor 0.5 nas posições onde está o valor incorreto.
Conferindo fatores
Podemos utilizar as funções table ou unique para verificar os níveis únicos e verificar se tem algum problema em nossos dados. Vamos aplicá-las para Species:
Neste caso é possível indentificar que o nível Setosa possui um erro, pois todos deveriam ter 50 amostras e existe somente uma amostra para o nível Setosa e 49 para setosa (a letra maiúscula ou minúscula tem distinção e é importante reter bastante atenção para isso no R). Vamos corrigir com a indexação usual:
Após a substituição, todas as espécies permaneceram com 50 amostras.
Juntando matrizes
Os comandos rbind e cbind são utilizados para combinar matrizes. Aqui estão as explicações e exemplos de como usar esses comandos:
- Combinação de matrizes por linhas: O comando rbind é usado para combinar matrizes empilhando-as verticalmente, ou seja, uma embaixo da outra. As matrizes devem ter o mesmo número de colunas.
Neste exemplo, matriz_1 e matriz_2 têm o mesmo número de colunas (2), portanto, você pode usar rbind para combinar essas matrizes verticalmente.
- Combinação de matrizes por colunas: O comando cbind é usado para combinar matrizes lado a lado, ou seja, uma ao lado da outra. As matrizes devem ter o mesmo número de linhas.
Lembre-se de que as matrizes devem ter o mesmo número de colunas para usar o rbind e o mesmo número de linhas para usar o cbind. Caso contrário, ocorrerá um erro de dimensionamento. Certifique-se de ajustar o tamanho das matrizes antes de usar esses comandos, se necessário.
Exercícios
- Posteriormente foi verificado um erro nas análises do nosso conjunto de dados df. Todos os valores abaixo de 5, na verdade correspondem ao valor 0. Substitua estes valores.
- Crie duas matrizes, ambas com 4 linhas e 3 colunas. Preencha-as com números inteiros de sua escolha. Use o comando
rbindpara combinar essas duas matrizes em uma única matrizresultado_rbind. - Crie duas matrizes, ambas com 4 linhas e 3 colunas. Preencha-as com números reais de sua escolha. Use o comando
cbindpara combinar essas duas matrizes em uma única matrizresultado_cbind. - Imagine que você está acompanhando o desempenho de alunos em dois exames, Exame A e Exame B. Crie duas matrizes:
exame_acom 5 linhas (alunos) e 3 colunas (notas) eexame_bcom 5 linhas (alunos) e 2 colunas (notas). Preencha as notas com valores aleatórios entre 0 e 100. Userbindpara combinar as duas matrizes em uma única matriz chamadanotas_final.