Curso de Ingeniería de Datos con Python

Tipos de datos en ciencia de datos

Curso de Ingeniería de Datos con Python

Contenido del curso

Web scraping

Pandas

Tipos de datos en ciencia de datos

Resumen

Entender los tipos de datos con precisión es clave para analizar, limpiar y modelar información con confianza. Aquí verás cómo clasificar datos más allá del lenguaje de programación: desde primitivos en Python hasta estructurados, semiestructurados y no estructurados, con ejemplos prácticos en Jupyter Notebook. Esta guía te ayuda a decidir qué técnicas aplicar según la naturaleza del dato y a usar herramientas como type() y dir() de forma efectiva.

¿Qué son los tipos de datos y por qué importan en ciencia de datos?

La clasificación de datos determina cómo accedemos, transformamos y analizamos información. No se trata solo de lo que el lenguaje soporta, sino de cómo nos acercamos al problema. En proyectos reales, identificar si un dato es estructurado, semiestructurado o no estructurado guía el flujo de trabajo, las herramientas y el esfuerzo de ingeniería. Además, hay distinciones útiles como cualitativos vs. cuantitativos y tiempo real vs. históricos, que más adelante impactan el análisis matemático.

  • Un tipo de dato define qué métodos y operaciones son válidas para ese objeto.
  • Con type() identificas el tipo en Python rápidamente.
  • Con dir() exploras métodos y atributos disponibles.
  • La estructura del dato condiciona la facilidad de acceso y limpieza.
  • En datos del mundo real, lo no estructurado es mayoría: requiere más procesamiento.

¿Cuáles son los tipos de datos primitivos y cómo identificarlos en Python?

En Python, los primitivos más comunes incluyen enteros, flotantes, booleanos y cadenas de texto (strings). También aparecen hexadecimales y octales cuando trabajas con datos binarios, además de fechas con datetime y objetos complejos definidos con classes.

¿Cómo declararlos y verificarlos?

# enteros, flotantes, booleanos, strings n_entero = 42 n_flotante = 3.14159 es_valido = True nombre = "David" # hexadecimal y octal n_hex = 0xFF # 255 en decimal n_octal = 0o23 # 19 en decimal # inspección de tipos y métodos print(type(n_entero)) print(dir(nombre))

¿Cómo trabajar con fechas con datetime?

from datetime import datetime hoy = datetime.now() print(hoy)

¿Cómo crear objetos complejos con clases?

class Auto: pass mi_auto = Auto() print(type(mi_auto))
  • Prefijos: 0x para hexadecimal y 0o para octal.
  • True y False son booleanos válidos.
  • Los strings van entre comillas simples o dobles.
  • type() y dir() agilizan el reconocimiento y exploración de objetos.

¿Cómo se clasifican los datos: estructurados, semiestructurados y no estructurados?

Los estructurados son tablas con filas y columnas bien definidas: ejemplos típicos son bases de datos MySQL, donde acceder es tan directo como ejecutar SELECT. Los semiestructurados tienen organización, pero no un esquema fijo: las APIs varían entre proveedores, como Twitter vs. Google Maps. Los no estructurados incluyen HTML, texto libre, currículums, imágenes, audio y video: su naturaleza dificulta extraer información directamente, aunque pueden tener patrones implícitos.

En Jupyter Notebook, el flujo mostrado incluye insertar celdas con la tecla B, cambiar a Markdown con M y ejecutar con Ctrl+Enter. Para visualizar ejemplos, se usa IPython.display y la clase Image para cargar diagramas, y una celda Markdown para pegar texto libre (como el famoso “send” de Python), ilustrando la falta de una estructura formal computable.

¿Qué ejemplos prácticos se mostraron?

# mostrar imágenes de ejemplos (estructura de tabla y marcado HTML) from IPython.display import Image, display display(Image('MySQL_Table_example.png')) display(Image('HTML_Markup_Example.png'))
  • Estructurados: acceso rápido, tipos definidos, manipulación sencilla. Sueño de un data engineer.
  • Semiestructurados: requieren parseo y adaptadores por proveedor de API.
  • No estructurados: demandan técnicas de extracción y modelado más complejas.
  • Atajos en Jupyter Notebook: B para nueva celda abajo, M para Markdown, Ctrl+Enter para ejecutar.

¿Te gustaría que añadamos más ejemplos de datos en tiempo real, históricos o nuevos tipos que te encuentras en tu trabajo? Comparte tus dudas y casos en los comentarios.