Manual de Python Para Data Science
Manual de Python Para Data Science
https://eduardocbalma.com/
https://eduardocbalma.com/
2025
Manual de Python para
Data Science
Sobre el Autor
Soy Eduardo Campos Balma, analista y científico de datos con experiencia en
análisis y visualización de datos, inteligencia de negocios y desarrollo de
soluciones para la toma de decisiones basadas en datos. A lo largo de mi
trayectoria, he trabajado en el análisis de tendencias, automatización de
procesos y generación de insights estratégicos en diversos sectores.
Mi objetivo con este manual es crear una guía práctica, detallada y fácil de
entender, que no solo sirva como referencia para quienes inician en Data
Science, sino que también ofrezca herramientas útiles para el trabajo diario
de un científico de datos en el mundo real.
Este manual está diseñado para ser una referencia tanto para principiantes
como para profesionales, proporcionando herramientas clave para la
manipulación de datos, visualización, automatización de procesos y Machine
Learning con Python.
Python es uno de los lenguajes de programación más utilizados en ciencia de datos debido a su
simplicidad, flexibilidad y amplio ecosistema de librerías especializadas. En este capítulo,
exploraremos por qué Python es la mejor opción para análisis de datos, cómo instalar y configurar
el entorno de trabajo, y los fundamentos básicos para empezar a programar en Python.
Python ha superado a herramientas tradicionales como Excel y SQL en el análisis de datos debido a
su capacidad para automatizar procesos, manejar grandes volúmenes de datos y aplicar
modelos de Machine Learning.
Imagina que trabajas en una empresa y debes analizar 5 millones de transacciones bancarias:
•Con Excel: No es posible abrir archivos de más de un millón de filas sin dividirlos en partes.
•Con SQL: Se pueden realizar consultas eficientes, pero no permite manipular datos en memoria ni
crear gráficos dinámicos fácilmente.
•Con Python: Puedes cargar los datos en un DataFrame de Pandas, aplicar filtros, visualizar
tendencias con gráficos y entrenar modelos de predicción, todo en un solo script.
Antes de comenzar a programar, es necesario instalar las herramientas adecuadas. Existen varias
formas de configurar el entorno de Python para ciencia de datos:
Anaconda incluye Python junto con librerías esenciales para ciencia de datos, como Pandas,
NumPy, Matplotlib y Scikit-learn.
Pasos de instalación:
1.Descarga Anaconda desde www.anaconda.com.
2.Instálalo siguiendo las instrucciones según tu sistema operativo.
3.Abre Anaconda Navigator y ejecuta Jupyter Notebook o VS Code.
Antes de trabajar con datos, es importante entender la sintaxis y estructuras básicas de Python.
Python es un lenguaje dinámicamente tipado, lo que significa que no es necesario declarar el tipo
de dato antes de usarlo; se asigna automáticamente. Sin embargo, es crucial conocer los tipos de
datos fundamentales para poder manipular la información correctamente.
En Data Science, trabajamos con números, texto, listas de valores, estructuras más complejas
como diccionarios, y datos booleanos para control de lógica. Vamos a explorar cada uno con
ejemplos prácticos en un contexto empresarial.
Salida esperada:
Salida esperada:
Salida esperada:
Salida esperada:
Salida esperada:
Salida esperada:
5. Listas (list)
Permiten almacenar múltiples valores en un solo objeto. Son útiles para manejar colecciones de
datos.
Salida esperada:
Manipulación de listas:
Salida esperada:
6. Tuplas (tuple)
Similares a listas, pero inmutables (no pueden modificarse después de ser creadas)
Salida esperada:
7. Diccionarios (dict)
Estructuras clave-valor que permiten organizar datos en pares.
Salida esperada:
Salida esperada:
Funciones en Python
Las funciones permiten reutilizar código y estructurar programas de forma eficiente.
Salida esperada:
Comentarios útiles: Explica el propósito del código sin abusar de comentarios innecesarios.
Salida esperada:
Leer y escribir datos desde múltiples formatos (CSV, Excel, SQL, JSON).
Limpiar, transformar, filtrar y agrupar datos fácilmente.
Analizar datos de forma rápida y estructurada.
Integrarse con otras librerías como NumPy, Matplotlib y Scikit-learn.
Imagina que trabajas en una empresa con miles de registros de ventas. Con Pandas puedes:
¿Qué es un DataFrame?
Un DataFrame es una tabla similar a una hoja de Excel: filas y columnas con datos etiquetados.
Output:
Output:
Escribir archivos
Eliminar duplicados
Output:
Output:
Ejercicio:
Dado el siguiente DataFrame, agrega una columna que indique si el producto tiene stock suficiente
(más de 20 unidades).
Solución:
Output:
NumPy (Numerical Python) es una librería fundamental para computación científica. Nos permite
trabajar con arrays (vectores y matrices) de forma mucho más eficiente que con listas de Python
tradicionales. Es la base sobre la que se construyen muchas otras librerías como Pandas, Scikit-
learn y SciPy.
Operación
¿Por qué usar NumPy en lugar de listas? Lista de Python Array de NumPy
Velocidad Lenta Rápida
Vectorización de operaciones No Sí
¿Qué es un array?
Un array es como una caja ordenada de cosas, donde todas esas cosas son del mismo tipo (por
ejemplo, solo números).
Imagina una fila de casillas numeradas:
Y quieres aplicar un 10% de descuento a todos, en lugar de hacerlo uno por uno, puedes hacerlo
así:
Output:
Output:
Output:
NumPy permite aplicar operaciones entre arrays de distintas formas sin necesidad de bucles.
Output:
Imagina que tu empresa tiene una lista de ingresos y egresos. Vamos a calcular el beneficio
neto mensual.
Output:
Ejercicio:
Calcula la ganancia total del trimestre para 3 productos con los siguientes arrays:
Solución:
Output:
Matplotlib
Es la librería base para crear gráficos en Python. Permite generar gráficos personalizables como
líneas, barras, tortas, histogramas, dispersión, etc.
Seaborn
Se construye sobre Matplotlib y facilita la creación de gráficos estadísticos más complejos con
menos código y mejor estética.
Integración con ML No Sí
Gráfico de líneas
Ideal para mostrar tendencias a lo largo del tiempo.
Histograma
Ejercicio:
Dibuja un gráfico de barras con los siguientes datos de ventas:
Solución:
Media (Promedio)
Output:
Mediana
Output:
Output:
Rango
Interpretación: Cuanto más alta la desviación, más dispersos están los datos.
5.4 Correlaciones
La correlación mide la relación entre dos variables. El valor oscila entre -1 (relación inversa) y +1
(relación directa).
Output:
Prueba t de medias
¿Hay diferencia significativa entre dos grupos de ingresos?
Calcula:
•Media
•Rango
•Desviación estándar
Solución:
Introducción a Machine
Learning con Scikit-Learn
6. Introducción a Machine Learning con Scikit-Learn
Machine Learning o aprendizaje automático es una rama de la inteligencia artificial que permite a
las máquinas aprender patrones de los datos para hacer predicciones o tomar decisiones sin
ser programadas explícitamente para ello.
En el día a día empresarial, ML se usa para:
Si obtienes 1.0 → significa que el modelo predijo correctamente todos los casos del conjunto de
prueba.
Ejercicio:
Utiliza este dataset para entrenar un modelo de regresión lineal que prediga las ventas en base
a la inversión en publicidad.
Solución:
Salida esperada:
Automatización de Tareas
con Python
7. Automatización de Tareas con Python
Ahorrar tiempo
Reducir errores humanos
Estandarizar flujos de trabajo
Ejecutar tareas sin intervención manual
Este script debe estar activo en segundo plano (en una terminal o servidor).
Obtener tipo de cambio del dólar desde una API (ejemplo ficticio):
Este tipo de función puede ejecutarse a diario y almacenar los datos en un Excel o base de
datos.
Puedes programarlo con schedule para ejecutarlo automáticamente todos los días.
Ejercicio:
Crea una función que revise cada 30 segundos si existe un archivo datos.csv y, si existe, lo limpie
(eliminando valores nulos) y lo guarde como datos_limpios.csv.
Solución:
Output:
Ejercicio:
Conecta a una base de datos SQLite llamada tienda.db, crea una tabla productos, inserta 3
productos, y consulta los que cuestan más de 100 euros.
Solución:
Output:
Ejercicio:
Extrae los títulos y precios del sitio https://books.toscrape.com/ y guárdalos en un CSV llamado
libros.csv.
Solución:
Output:
Supón que tienes millones de registros de ventas de productos. Con PySpark puedes:
1.Cargar todos los datos sin que colapse tu equipo
2.Filtrar los productos más vendidos
3.Calcular promedios por categoría
4.Guardar los resultados en otro archivo CSV
Ejercicio:
Dado un archivo clientes.csv con columnas Nombre, Edad y País, muestra:
•Los clientes mayores de 30 años
•El promedio de edad por país
Solución:
Output:
Solución:
Salida esperada:
Desarrollo de Dashboards
con Dash y Streamlit
12. Desarrollo de Dashboards con Dash y Streamlit
Los dashboards permiten visualizar datos de forma clara e interactiva, ideal para la toma de
decisiones en tiempo real.
Python permite crear dashboards 100% personalizados y automatizados, sin depender de
herramientas externas como Power BI o Tableau.
12.3 Instalación
Ejecutar:
Ejercicio:
Crea un dashboard en Streamlit que:
•Cargue un archivo clientes.csv
•Permita seleccionar un país
•Muestre los clientes y un gráfico de edades
Solución:
Nombres de variables
•Usa nombres claros y en minúsculas, separados por guiones bajos (snake_case)
Comentarios útiles
2. Tips de Optimización
Usa vectorización en lugar de bucles (NumPy y Pandas)
Al trabajar con grandes volúmenes, usa .loc[] o .query() para filtrar eficientemente
Usa @st.cache en Streamlit para evitar recargar datos cada vez
En Spark, evita collect() a menos que estés seguro de que el dataset es pequeño
Libros
•Python for Data Analysis – Wes McKinney
•Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow – Aurélien Géron
•Storytelling with Data – Cole Nussbaumer Knaflic (para visualización)
Datasets prácticos
•Kaggle.com
•Datahub.io
•UCI Machine Learning Repository
5. Consejos finales
Empieza con proyectos simples, pero bien explicados
Documenta cada paso como si se lo explicaras a otra persona
Visualiza siempre antes de modelar
No tengas miedo de experimentar, ¡la mejor forma de aprender es equivocándote!