No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Transformación

8/25
Recursos

Aportes 3

Preguntas 1

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

8. Transformación

  • Estructura final: ¿Con qué estructura requiero los datos compatibles con el target?
  • Relaciones
  • Normalización: normalizar los datos para lograr consistencia a lo largo del flujo de datos
  • Duplicados: con qué estructura requiero los datos compatibles con el target
  • Datos faltantes: qué ocurre con los datos faltantes de mi data
  • Agregaciones: debo agrupar los datos por alguna característica y buscar agregaciones como suma, promedio, máximo y demas.

Qué onda👋 . Ahí les van mis apuntes, que en realidad son una paráfrasis (si digo burradas ténganme paciencia auxilio estoy aprendiendo🦖):

Hay algunas cosas que tenemos que considerar a la hora de comenzar el proceso de transformación de datos:

Estructura final:

En función de las necesidades del proyecto, definir el shape final de cómo deberían verse los datos. Y cargarlos al target

Relaciones:

Generar una hipótesis de cuáles podrían ser las relaciones que reflejen mejor el resultado que queremos obtener.

  • Para evitar sesgos lo mejor es comparar esta hipótesis en un escenario en donde su resultado sería irrelevante.

Si la segunda hipótesis se confirma, lo mejor será cambiar las relaciones y continuar con el análisis exploratorio.

Normalización:

Decidir qué estructura de relación a nivel de bases de datos voy a llevar a cabo

  • se hace al normalizar los datos (1FN,2FN,…) para lograr consistencia a lo largo del flujo de datos

Encontrar las relaciones conceptuales (no numéricas / estadísticas) entre las columnas de cada una de las tablas

Duplicados :

Considerar qué hacer con ellos🤔. Para ello es importante saber el contexto de los datos.

  • Es decir, si es relevante y tenga sentido su existencia, tal que aporten información a los resultados, dejarlos en paz. Si son simplemente elementos por error, lo mejor sería ignorarlos en el análisis exploratorio

🚫Si simplemente los borramos porque vemos dos iguales, podríamos estar sesgando los resultados. Igualmente si es necesario hacerlo y no borrarlos

Datos faltantes:

Igual que con los duplicados. Considerar su tratamiento e imputación dependiendo del contexto del cuál fueron extraídos.

  • En otras palabras: investigar la razón de la existencia de ese faltante
  • otro aspecto a considerar es que a veces existen datos faltantes que no se observan de manera explícita.
    • La razón de esto es porque fueron llenados con un valor (numérico / str) que es reconocible por pandas(ejemplo: columna edad= 99999). Son un poco más difíciles de encontrar, porque están enmascarados, haciéndose pasar por datos normales cuando en realidad son datos nulos impostores.

Ejemplo: en un dataset con información de salud de los pacientes, si existe una columna “fumador”, ó “sobrepeso” la existencia de un faltante en esta columna nos genera al menos dos hipótesis del paciente en cuestión: 1: no existe tal información del paciente, 2: El paciente no es fumador, y simplemente la tabla está hecha incorrectamente (o falta normalizarse)

Agregaciones:

Lo que dijo el profe🍻

En el contexto de \*\*ETL (Extract, Transform, Load)\*\*, la \*\*Transformación\*\* es la etapa intermedia del proceso. Su propósito principal es convertir los datos extraídos desde las fuentes en un formato adecuado para ser almacenados y utilizados en el sistema de destino, como un Data Warehouse. \### Principales tareas en la Transformación: 1\. \*\*Limpieza de datos\*\*: \- Eliminar duplicados. \- Gestionar valores faltantes. \- Corregir errores en los datos. 2\. \*\*Estandarización\*\*: \- Asegurar que los datos tienen el mismo formato y estructura. \- Por ejemplo, unificar formatos de fechas o convertir unidades. 3\. \*\*Enriquecimiento de datos\*\*: \- Combinar datos de múltiples fuentes para agregar más contexto o información útil. 4\. \*\*Cálculos y derivaciones\*\*: \- Crear nuevas columnas o métricas a partir de los datos existentes, como calcular ingresos netos o márgenes de ganancia. 5\. \*\*Filtrado\*\*: \- Seleccionar solo los datos relevantes o necesarios para la aplicación objetivo. 6\. \*\*Validación\*\*: \- Verificar que los datos transformados cumplen con las reglas de negocio y estándares requeridos. 7\. \*\*Agrupación y agregación\*\*: \- Resumir datos, como calcular promedios, totales, o conteos por categorías. \### Ejemplo en Python con Pandas: Supongamos que extraemos datos de ventas de un archivo CSV y necesitamos realizar transformaciones básicas. ```python import pandas as pd \# Cargar datos data = pd.read\_csv("ventas.csv") \# Limpieza: Eliminar duplicados data = data.drop\_duplicates() \# Estandarización: Convertir fechas al mismo formato data\['fecha'] = pd.to\_datetime(data\['fecha'], format='%Y-%m-%d') \# Enriquecimiento: Calcular total de ventas data\['total\_ventas'] = data\['precio\_unitario'] \* data\['cantidad'] \# Filtrar: Seleccionar datos relevantes data = data\[data\['total\_ventas'] > 1000] print(data.head()) ``` En este ejemplo, se realizan tareas comunes de transformación antes de cargar los datos transformados en un destino. La transformación es crucial porque asegura que los datos sean consistentes, precisos y útiles para el análisis.