Pandas corrige dados errados
Neste artigo, exploraremos como corrigir dados incorretos no Pandas e explicaremos como eles funcionam.
Corrigir dados incorretos
Dados incorretos não precisam ser células nulas ou formato incorreto, podem apenas estar incorretos, como “ $400 ” no lugar de “ $40,0 ”.
Ocasionalmente, você pode identificar dados imprecisos observando o conjunto de dados, porque já tem uma noção de como os dados devem ser.
O nome do funcionário na linha 8 do nosso conjunto de dados está na forma de dígitos, mas em todas as outras linhas está na forma de letras.
Embora não precise estar incorreto, o fato de a pessoa não ter um nome com dígitos faz com que seja principalmente um nome de letras.
EMPLOYEE_ID EMPLOYEE_NAME SALARY($) 0 1 Harry 400.0 1 2 Jonathan 300.0 2 3 Miguel 320.0 3 '4' Erin 250.0 4 5 Emma 280.0 5 6 Lia NaN 6 7 Samantha 300.0 7 7 Samantha 300.0 8 8 69 280.0 9 9 Dustin 370.0 10 10 Steve NaN
O que podemos fazer para resolver valores incorretos, como o de “ EMPLOYEE_NAME ” na linha 8?
Substituindo valores
Alterar valores errados com qualquer outra coisa é uma maneira de resolvê-los.
O valor deve ser “ Kate ” no lugar de “ 69 ” em nosso exemplo, e poderíamos apenas adicionar “Kate” na linha 8:
Na linha 8, altere “EMPLOYEE_NAME” para “Kate”:
Example:
Na linha 3, modifique “EMPLOYEE_ID” para 4:
Example:
Você pode estar em posição de atualizar os dados incorretos um por um para pequenos conjuntos de dados, mas não para grandes conjuntos de dados.
Ao trabalhar com grandes conjuntos de dados, você pode implementar algumas regras, por exemplo.
Forneça alguns limites para valores legais e substitua quaisquer valores que estejam fora desses limites pelos valores apropriados.
Atribua um salário de US$ 250 a funcionários cujo salário seja inferior a US$ 320:
Example:
Defina o salário de cada funcionário como $ 350:
Example:
Removendo Linhas
A outra maneira de trabalhar com dados incorretos é eliminar as linhas que contêm dados imprecisos do banco de dados.
Por meio dessa abordagem, você não precisa descobrir com o que deseja substituí-los e há uma grande chance de não exigir que eles executem suas análises no local inicial.
Se SALÁRIO($) for maior que 350, elimine a linha:
Example:
Remova as linhas em que o salário do funcionário é igual a US$ 300:
Example:
Exemplo de Explicação
O exemplo acima carrega um arquivo CSV chamado empWrong_data.csv usando a função read_csv da biblioteca Pandas e cria um DataFrame chamado mrx_df a partir dos dados. Os dados no arquivo CSV provavelmente representam registros de funcionários, incluindo seus salários.
Em seguida, itera sobre cada linha no DataFrame mrx_df usando o atributo .index do DataFrame. Para cada linha, verifica se o valor da coluna SALÁRIO($) é igual a 300 utilizando o método .loc para acessar o valor. Se a condição for true , ele descarta a linha do DataFrame usando o método .drop com o parâmetro inplace definido como True, o que significa que as alterações serão aplicadas diretamente ao DataFrame mrx_df.
Por fim, o código imprime o DataFrame atualizado usando o método .to_string() , que retorna uma representação de string do DataFrame.