Datos Duplicados

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 duplicate de 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 keep permiten 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 True si son duplicados, y aquellos sin repeticiones (como Sara o Elena) se marcan como False. 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ámetro Keep igual a First, 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 subset para 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, keep e inplace.
  • 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.