Limpieza de datos
ElianaZapata07Trabajo1 de Mayo de 2024
2.421 Palabras (10 Páginas)100 Visitas
[pic 1][pic 2][pic 3][pic 4]
ÍNDICE
1. DESCRIPCIÓN DE LOS PROBLEMAS 3
1.1. DATOS DUPLICADOS 3
1.2. VALORES AUSENTES 3
1.3. FECHAS INCORRECTAS 4
1.4. NOMBRE DE COLUMNAS DEFINIDAS INADECUADAMENTE 5
1.5. CÓDIFICACION NO ESTANDARIZADA 5
1.6. ESTANDARIZACION DE LOS DATOS 6
2. PROPUESTAS DE FORMATO JSON 7
3. DESCRIPCIÓN DE METODOLOGÍA 10
4. PROPUESTA DE MEJORAS EN EL CONJUNTO DE DATOS 11
Tabla de Ilustraciones
Ilustración 1: Registros duplicados en el dataset 3
Ilustración 2: Campo del dataset con valores vacíos 3
Ilustración 3: Campos cuyos valores se han movido a los campos subsiguientes 4
Ilustración 4: Campo con 100% de información nula 4
Ilustración 5: Campo con data de fecha incongruente 4
Ilustración 6: Campo con cabecera incongruente 5
Ilustración 7: Campo con data que representa codificación no estándar 5
Ilustración 8: Campo que contiene espacio en blanco 6
Ilustración 9: Primer campo agrupado mediante la función Cluster 6
Ilustración 10: Segundo campo agrupado mediante la función Cluster 6
DESCRIPCIÓN DE LOS PROBLEMAS
DATOS DUPLICADOS
En el dataset data_act_01.csv existe ID duplicados en el campo CrimeId, los cuales se ha detectado mediante la función de la herramienta Excel (Formato condicional 🡪 Resaltar reglas de celdas 🡪 Duplicar Valores) y luego filtramos el campo por tipo de color.
Considero que es un problema dado que se visualiza que es un campo identificador de cada registro, por lo cual no puede ser duplicado.
[pic 5]
Ilustración 1: Registros duplicados en el dataset
Si bien los ID son duplicados se visualiza que contiene data distinta en cada campo, por lo cual no se puede eliminar, es por ello que la propuesta de resolución es primero generar un backup de estos registros en otro dataset, y luego buscar en el dataset en revisión el ID mayor y le asignamos de acuerdo al orden de secuencia, a fin de garantizar la no duplicidad.
VALORES AUSENTES
Existen valores nulos en los campos City, State y Range, los cuales se han detectado mediante el filtro a cada campo en la herramienta Excel.
Considero que este es un problema, primero porque al tener el campo City con registros vacíos, el análisis de datos puede verse afectado y la representatividad de una muestra también. Segundo porque en el campo State los datos no corresponden a sus respectivas columnas. Finalmente, el campo Range el 100% de los datos presentan valor nulo, por lo que muestra que es un campo que no se utiliza.
[pic 6]
Ilustración 2: Campo del dataset con valores vacíos
En el caso del campo City, los registros en blanco se reemplazarán por el valor NA.
[pic 7]
Ilustración 3: Campos cuyos valores se han movido a los campos subsiguientes
En el caso del campo State, los registros en blanco se reemplazarán con el valor CA del campo AgencyId, y este se reemplazará con el valor 1 del campo AddressType, al quedar este último campo con valores vacíos se reemplazarán con NA.
[pic 8]
Ilustración 4: Campo con 100% de información nula
En el caso del campo Rango se propone eliminarlo dado que al tener el 100% en valores nulos muestra que no es un campo útil para preservar.
FECHAS INCORRECTAS
Se han encontrado registros en el campo OffenseDate con fechas que difieren de la base del archivo que corresponde al año 2016.
En la herramienta Excel mediante el filtro se visualiza el año 2013 y 2025.
Considero que, al presentar estos datos con fechas incongruentes, principalmente una posterior a la definida, puede generar un impacto grande al momento de realizar un informe estadístico.
[pic 9]
Ilustración 5: Campo con data de fecha incongruente
Se propone actualizar el año con los valores del campo CallDateTime, dado que se ha visualizado que el campo OffenseDate es parte del mismo.
NOMBRE DE COLUMNAS DEFINIDAS INADECUADAMENTE
La columna OffenseDate contiene datos que son fechas y hora.
Mediante la herramienta Excel fácilmente se visualiza que el campo tiene el formato de tipo de dato datetime.
Considero que no relacionar adecuadamente el nombre del campo con el valor a registrar puede generar confusión al momento de analizar a mayor profundidad la información e interpretar inadecuadamente el conjunto de datos.
[pic 10]
Ilustración 6: Campo con cabecera incongruente
Se propone actualizar el nombre del campo de acuerdo al tipo de dato que registra, en este caso por un tipo de dato datetime. El campo se puede denominar OffenseDateTime.
CÓDIFICACION NO ESTANDARIZADA
En el campo OriginalCrimeTypeName se visualiza el carácter extraño *, así mismo en el campo City espacio en blanco.
Con la herramienta OpenRefine se detectó mediante las creaciones de los facets valores con codificación no estandarizada.
Considero que, al tener valores con codificación no estandarizada, reduce las posibilidades de reutilización o aumenta el esfuerzo a la hora de querer interpretar el conjunto de datos.
[pic 11]
Ilustración 7: Campo con data que representa codificación no estándar
Se propone reemplazar el valor * en nulo para todos los datos, lo mismo se debe hacer en caso se encuentre otros caracteres extraños.
[pic 12]
Ilustración 8: Campo que contiene espacio en blanco
Se propone limpiar los espacios vacíos, en este caso por la herramienta se utilizó la opción de Trim leading and trailing whitespace.
ESTANDARIZACION DE LOS DATOS
En el campo OriginalCrimeTypeName se detecta valores con diferencias ortográficas o de orden.
Mediante la herramienta OpenRefine se realizó un agrupamiento (cluster) y se detectó valores similares en un gran porcentaje.
Considero que al tener información no estandarizada dificulta de forma significativa la correlación entre datos de diferentes distribuciones o datasets.
[pic 13]
Ilustración 9: Primer campo agrupado mediante la función Cluster
[pic 14]
Ilustración 10: Segundo campo agrupado mediante la función Cluster
Se propone detectar las agrupaciones mediante la herramienta, escoger la mejor propuesta y reemplazar por la elegida, respetando los códigos de estandarización.
Se ha realizado las mismas acciones para los otros 2 datasets escogidos.
PROPUESTAS DE FORMATO JSON
Para la generación de los formatos JSON, se realizó los siguientes pasos:
- Se abrió el archivo CSV en la herramienta Microsoft Excel.
- Se realizó una primera limpieza de datos descrito en los puntos del 1 al 4.
- Con la función =Max(columna) se obtuvo el mayor valor, y se reemplazó los duplicados por valores secuenciales siguientes al mayor valor.
- Se filtró el campo City y se utilizó la opción reemplazar ingresando el valor NA.
- Se filtró el campo State y con la opción reemplazar se ingresó el valor CA, al campo AgencyID el valor 1 y al campo AddressType el valor NA.
- Se eliminó el campo Range, dando click derecho y seleccionando la opción Eliminar.
- Se filtró el campo OffenseDate seleccionando los registros con valor distinto a 2016, al ser solo 2 valores se reemplazó directamente por 2016.
- Se actualizó directamente el encabezado del campo OffenseDate por OffenseDateTime.
- El archivo CSV depurado con la limpieza inicial se cargó en la herramienta OpenRefine, donde se importó el dataset y se seleccionó la opción de Codificación de caracteres igual a UTF-8 y luego se creó el proyecto.
- Se realizó una segunda limpieza de datos descritos en los puntos 5 y 6.
- Se seleccionó la opción Replace en el campo OriginalCrimeTypeName cambiando el carácter * por vacío.
Se muestra el código que la herramienta genera automáticamente cuando se realiza la opción de Replace.
...