Pandas - Corrección de datos incorrectos
Información incorrecta
Los "datos incorrectos" no tienen que ser "celdas vacías" o "formato incorrecto", simplemente pueden ser incorrectos, como si alguien registrara "199" en lugar de "1.99".
A veces, puede detectar datos incorrectos mirando el conjunto de datos, porque tiene una expectativa de lo que debería ser.
Si observa nuestro conjunto de datos, puede ver que en la fila 7, la duración es 450, pero para todas las demás filas, la duración es entre 30 y 60.
No tiene por qué estar mal, pero teniendo en cuenta que este es el conjunto de datos de las sesiones de entrenamiento de alguien, concluimos con el hecho de que esta persona no hizo ejercicio en 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
¿Cómo podemos corregir valores incorrectos, como el de "Duración" en la fila 7?
¡Obtener la certificación!
$10 INSCRÍBETE
Sustitución de valores
Una forma de corregir valores incorrectos es reemplazarlos con otra cosa.
En nuestro ejemplo, lo más probable es que se trate de un error tipográfico, y el valor debería ser "45" en lugar de "450", y podríamos simplemente insertar "45" en la fila 7:
Ejemplo
Establezca "Duración" = 45 en la fila 7:
df.loc[7, 'Duration'] = 45
Para conjuntos de datos pequeños, es posible que pueda reemplazar los datos incorrectos uno por uno, pero no para conjuntos de datos grandes.
Para reemplazar datos incorrectos por conjuntos de datos más grandes, puede crear algunas reglas, por ejemplo, establecer algunos límites para los valores legales y reemplazar cualquier valor que esté fuera de los límites.
Ejemplo
Recorra todos los valores en la columna "Duración".
Si el valor es superior a 120, configúrelo en 120:
for x in df.index:
if df.loc[x, "Duration"] > 120:
df.loc[x, "Duration"] = 120
Quitar filas
Otra forma de manejar datos incorrectos es eliminar las filas que contienen datos incorrectos.
De esta manera, no tiene que averiguar con qué reemplazarlos, y existe una buena posibilidad de que no los necesite para realizar sus análisis.
Ejemplo
Eliminar filas donde "Duración" es superior a 120:
for x in df.index:
if df.loc[x, "Duration"] > 120:
df.drop(x, inplace = True)