Logo de CursoIA
CursoIA Curso de Inteligencia Artificial

Programación orientada a datos con Python, Unidad 4 — Limpieza y transformación de datos, 4.2 — Transformación de datos ·

Campos derivados

Campos derivados: Transformación de datos en Python

Introducción

La transformación de datos es una etapa crucial en cualquier pipeline de procesamiento de datos. Los campos derivados son variables que se generan a partir de cálculos y manipulaciones sobre otros datos existentes. Estos campos pueden proporcionar información adicional, simplificar el análisis o mejorar la calidad de los datos. En Python, las técnicas para crear campos derivados incluyen la conversión de tipos, la creación de nuevas columnas basadas en expresiones lógicas y la aplicación de funciones a conjuntos de datos.

Explicación principal con ejemplos

Conversión de tipos

Una técnica común es convertir los tipos de datos para facilitar el análisis. Por ejemplo, si tenemos una columna que contiene valores numéricos pero está codificada como texto, podemos convertirla a un número entero o decimal.

import pandas as pd

df = pd.DataFrame({
    'id': [1, 2, 3],
    'valor': ['10', '20.5', '5']
})

# Conversión de tipo
df['valor'] = df['valor'].astype(float)

print(df)

Creación de campos basados en expresiones lógicas

Podemos crear nuevos campos que reflejen condiciones específicas del conjunto de datos. Por ejemplo, podemos crear una columna es_mayor_a_50 que indique si un valor es mayor a 50.

df['es_mayor_a_50'] = df['valor'] > 50

print(df)

Aplicación de funciones a conjuntos de datos

Podemos aplicar funciones complejas a columnas completas para crear campos derivados. Por ejemplo, podríamos calcular el logaritmo natural de un valor y agregarlo como una nueva columna.

import numpy as np

df['log_valor'] = np.log(df['valor'])

print(df)

Errores típicos / trampas

  1. Errores en la conversión de tipos: Convertir a tipos incorrectos puede conducir a resultados erróneos o incluso errores en tiempo de ejecución.
  2. Operaciones inesperadas con datos faltantes: Tratar valores faltantes sin manejarlos adecuadamente puede dar lugar a resultados inexactos o errores.
  3. Aplicación incorrecta de funciones matemáticas: Usar funciones matemáticas sin considerar el dominio (por ejemplo, logaritmo en cero) puede generar resultados no definidos.

Ejemplo de error: Conversión errónea

df['valor'] = df['valor'].astype(int)
print(df)

Este código intenta convertir a enteros valores que podrían contener decimales, lo cual probablemente generará un error.

Checklist accionable

  1. Verifica el tipo de datos: Antes de realizar conversiones o cálculos, asegúrate de conocer y validar los tipos actuales.
  2. Maneja valores faltantes adecuadamente: Decide si rellenarlos, eliminarlos o reemplazarlos con valores específicos.
  3. Utiliza funciones seguras para datos no numéricos: Si estás trabajando con strings que contienen números, considera usar pd.to_numeric con argumentos de manejo de errores.
  4. Asegúrate de la consistencia en los tipos de datos: Convierte todos los valores a un tipo común antes de realizar operaciones matemáticas.
  5. Comprueba el resultado después de cada transformación: Verifica que los nuevos campos derivados estén calculados correctamente.

Cierre

Siguientes pasos

  • Aprende más sobre manipulación de datos con NumPy y Pandas: Estudia cómo usar estas bibliotecas para realizar operaciones complejas en conjuntos de datos.
  • Ejercita tus habilidades creando campos derivados en proyectos reales: Prueba a crear campos derivados en datasets reales para mejorar tu comprensión del flujo de trabajo.
  • Revisa el glosario (si es aplicable): Familiarízate con los términos clave relacionados con la transformación de datos.

Siguiendo estos pasos, podrás mejorar significativamente tu habilidad en la transformación y manipulación de datos en Python.

Contacto

Indica tu objetivo (ChatGPT, RAG, agentes, automatización) y tu stack (web/backend).