Pandas - Corrigindo dados errados


Dados errados

"Dados errados" não precisam ser "células vazias" ou "formato errado", pode apenas estar errado, como se alguém registrasse "199" em vez de "1,99".

Às vezes, você pode identificar dados errados olhando para o conjunto de dados, porque tem uma expectativa do que deveria ser.

Se você der uma olhada em nosso conjunto de dados, verá que na linha 7, a duração é 450, mas para todas as outras linhas a duração está entre 30 e 60.

Não precisa estar errado, mas levando em consideração que este é o conjunto de dados das sessões de treino de alguém, concluímos com o fato de que essa pessoa não treinou em 450 minutos.

      Duration          Date  Pulse  Maxpulse  Calories
  0         60  '2020/12/01'    110       130     409.1
  1         60  '2020/12/02'    117       145     479.0
  2         60  '2020/12/03'    103       135     340.0
  3         45  '2020/12/04'    109       175     282.4
  4         45  '2020/12/05'    117       148     406.0
  5         60  '2020/12/06'    102       127     300.0
  6         60  '2020/12/07'    110       136     374.0
  7        450  '2020/12/08'    104       134     253.3
  8         30  '2020/12/09'    109       133     195.1
  9         60  '2020/12/10'     98       124     269.0
  10        60  '2020/12/11'    103       147     329.3
  11        60  '2020/12/12'    100       120     250.7
  12        60  '2020/12/12'    100       120     250.7
  13        60  '2020/12/13'    106       128     345.3
  14        60  '2020/12/14'    104       132     379.3
  15        60  '2020/12/15'     98       123     275.0
  16        60  '2020/12/16'     98       120     215.2
  17        60  '2020/12/17'    100       120     300.0
  18        45  '2020/12/18'     90       112       NaN
  19        60  '2020/12/19'    103       123     323.0
  20        45  '2020/12/20'     97       125     243.0
  21        60  '2020/12/21'    108       131     364.2
  22        45           NaN    100       119     282.0
  23        60  '2020/12/23'    130       101     300.0
  24        45  '2020/12/24'    105       132     246.0
  25        60  '2020/12/25'    102       126     334.5
  26        60      20201226    100       120     250.0
  27        60  '2020/12/27'     92       118     241.0
  28        60  '2020/12/28'    103       132       NaN
  29        60  '2020/12/29'    100       132     280.0
  30        60  '2020/12/30'    102       129     380.3
  31        60  '2020/12/31'     92       115     243.0

Como podemos corrigir valores errados, como o de "Duração" na linha 7?


w3schools CERTIFIED . 2021

Obter certificação!

Complete os módulos do Pandas, faça os exercícios, faça o exame e você se tornará certificado pela w3schools!

$ 10 INSCRIÇÃO

Substituindo valores

Uma maneira de corrigir valores errados é substituí-los por outra coisa.

Em nosso exemplo, provavelmente é um erro de digitação, e o valor deve ser "45" em vez de "450", e poderíamos inserir "45" na linha 7:

Exemplo

Defina "Duração" = 45 na linha 7:

df.loc[7, 'Duration'] = 45

Para conjuntos de dados pequenos, você pode substituir os dados errados um por um, mas não para conjuntos de dados grandes.

Para substituir dados errados por conjuntos de dados maiores, você pode criar algumas regras, por exemplo, definir alguns limites para valores legais e substituir quaisquer valores que estejam fora dos limites.

Exemplo

Percorra todos os valores na coluna "Duração".

Se o valor for maior que 120, defina-o como 120:

for x in df.index:
  if df.loc[x, "Duration"] > 120:
    df.loc[x, "Duration"] = 120

Removendo linhas

Outra maneira de lidar com dados errados é remover as linhas que contêm dados errados.

Dessa forma, você não precisa descobrir com o que substituí-los e há uma boa chance de não precisar deles para fazer suas análises.

Exemplo

Exclua as linhas em que "Duration" for maior que 120:

for x in df.index:
  if df.loc[x, "Duration"] > 120:
    df.drop(x, inplace = True)