Datos Duplicados
¿Qué son los datos duplicados y cómo afectan el análisis?
Introducción a los datos duplicados
- Se presenta la materia de programación para analítica de datos descriptiva y predictiva, enfocándose en el tema de datos duplicados.
- Un dato se considera duplicado cuando hay otro registro que contiene los mismos valores, lo cual no aporta información adicional.
Tipos de datos duplicados
- Existen dos tipos principales de datos duplicados:
- Duplicados totales o exactos: Registros que tienen valores idénticos en todas las columnas.
- Duplicados parciales:
- En una sola columna (ejemplo: ID).
- En múltiples columnas (ejemplo: nombre y edad).
Impacto de los datos duplicados en el análisis
- La presencia de datos duplicados puede inflar conteos, promedios y frecuencias, afectando así la calidad del análisis descriptivo y predictivo.
- Puede causar sobreajuste en modelos predictivos, generar falsas correlaciones y aumentar costos computacionales.
Ejemplo práctico con pandas
- Se presenta un ejemplo con una tabla que incluye cuatro columnas: ID, nombre, edad y salario. El cálculo del salario promedio cambia al eliminar registros duplicados.
- Al quitar registros duplicados, se observa un cambio significativo en el salario promedio calculado.
Función duplicate en pandas
- Para detectar duplicados se utiliza la función
duplicatede pandas, que permite identificar registros con características de duplicidad.
- La sintaxis básica incluye parámetros como
subset, opcionalmente especificando columnas para buscar duplicidades.
Parámetros importantes para manejar duplicidades
- Los parámetros
keeppermiten definir qué ocurrencias marcar como verdaderas:
- First (por defecto): Marca todas las filas excepto la primera como true.
- Last: Marca todas las filas excepto la última como true.
- False: Marca todas las filas como true si son consideradas duplicadas.
Ejemplos adicionales sobre uso de duplicate
- Se muestran ejemplos prácticos utilizando diferentes configuraciones del parámetro
keep.
- Con
keep = First, solo se marca la primera aparición como false; las siguientes son true.
- Con
keep = Last, ocurre lo contrario; marca las últimas apariciones como false.
Uso del parámetro subset
¿Cómo manejar duplicados en un DataFrame?
Identificación de registros duplicados
- Se establece que todos los registros se marcan como
Truesi son duplicados, y aquellos sin repeticiones (como Sara o Elena) se marcan comoFalse. Esto se basa únicamente en la información de nombre y edad.
- La función
tf.duplicate()permite contar el número total de registros duplicados. Por defecto, utiliza el parámetroKeepigual aFirst, lo que significa que ignora las primeras ocurrencias.
- Al usar
klast, se puede contar solo los primeros y últimos duplicados. La diferencia radica en qué registros son considerados como duplicados.
Parámetros adicionales para la detección de duplicados
- Para incluir todos los registros, tanto primeros como últimos, se debe utilizar
Keep=False, lo que devuelve un total de 14 registros duplicados.
- Se pueden aplicar parámetros adicionales como
subsetpara especificar columnas particulares al buscar duplicados, permitiendo combinaciones más flexibles.
Conteo de apariciones y extracción de datos
- Para conocer cuántas veces aparece cada registro, se utiliza la función
value_counts(), mostrando el ID, nombre, edad y salario junto con su frecuencia.
- Si se desea obtener solo ciertos datos repetidos o duplicados, es posible hacerlo mediante una instrucción específica sobre el DataFrame (
DF) utilizando la función adecuada.
Ejemplos prácticos con funciones
- Al aplicar
DF.duplicate(Keep='First'), se extraen datos ignorando las primeras ocurrencias; por ejemplo, Ana aparece dos veces mientras que Juan es ignorado en su primera aparición.
- Un nuevo ejercicio permite identificar registros sin duplicados; en este caso, Sara y Elena son los únicos sin valores repetidos.
Eliminación de registros duplicados
- Para eliminar duplicados, se usa la función
Drop duplicates(), que tiene tres parámetros opcionales:subset,keepeinplace.
- Un uso drástico sería eliminar todas las instancias de un registro; por ejemplo, usando
DF.drop_duplicates(keep=False)elimina todas las apariciones del registro original.
- Con el parámetro
keep='First', solo conserva la primera aparición del registro dentro del DataFrame. Esto es útil para mantener datos relevantes mientras eliminamos repeticiones innecesarias.
Reflexiones finales sobre manejo de datos
- Es importante documentar y justificar decisiones sobre eliminación o conservación de datos al trabajar con conjuntos grandes; esto depende del problema específico a resolver.