Limpe o formato de dados incorretos através do Pandas
Dados de formato incorreto referem-se a dados que não estão no formato ou estrutura esperados. Pode estar na forma de valores ausentes, tipos de dados incorretos, duplicatas ou dados inconsistentes.
Dados de formato incorreto podem causar problemas ao tentar analisar ou visualizar dados.
Nosso objetivo neste artigo é explorar como podemos aplicar Pandas para limpar dados de formato errado que foram formatados incorretamente usando Python.
Dados de formato incorreto
Limpar dados de formato incorreto envolve identificar os problemas e corrigi-los.
O exame de dados pode ser desafiador ou difícil se as células estiverem no formato incorreto.
Há duas maneiras de resolvê-lo:
- Elimine as linhas.
- Modifique todas as células nas colunas para o formato idêntico.
Converter em um formato correto
Temos uma célula com o formato errado em nosso Data Frame.
Na linha 3, deve haver um valor int que indique um ID de funcionário na coluna 'EMPLOYEE_ID':
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
Utilizando a coluna ' EMPLOYEE_ID ', vamos transformar cada célula em um valor int .
Para isso, o Pandas possui um método replace() :
Altere o valor '4' para 4 na coluna 'EMPLOYEE_ID':
Example:
Aplique o atributo dtypes para exibir o tipo de dados de cada coluna:
Example:
Você pode observar a partir do resultado que o ID do funcionário na linha 3 é fixo, mas o salário vazio nas linhas 5 e 10 é NaN ou não preenchido.
Linhas sem valores podem ser tratadas simplesmente eliminando a linha completa.
Remover Linhas
Implementando o método dropna() , podemos eliminar a linha obtida na operação acima, e podemos tratar o valor NaN como um valor vazio.
Na coluna “ SALÁRIO($) ” elimine as linhas com valores vazios:
Example:
Primeiro, exclua as linhas com valores vazios e classifique a coluna “EMPLOYEE_NAME” em ordem decrescente:
Example:
Exemplo de Explicação
O código fornecido 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 ID, nome e salário.
O código então usa o método .replace() para substituir quaisquer ocorrências da string '4' na coluna “EMPLOYEE_ID” do DataFrame com o valor inteiro 4. Isso provavelmente é feito porque o valor de ID foi lido como uma string em vez do que um número inteiro.
Em seguida, o código usa o método .dropna() para remover todas as linhas com valores ausentes na coluna “ SALARY($) ” do DataFrame. O parâmetro do subconjunto é definido como ['SALARY($)'], o que significa que o método dropna() considerará apenas os valores ausentes nesta coluna . 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 usa o método .sort_values() para classificar o DataFrame pela coluna “ EMPLOYEE_NAME ” em ordem decrescente ( ascending=False ). Isso significa que os funcionários com os nomes mais altos (em ordem alfabética) aparecerão primeiro no DataFrame classificado. O DataFrame classificado é impresso usando o método .to_string() , que retorna uma representação de string do DataFrame.