0% encontró este documento útil (0 votos)
12 vistas

Manual de Python Para Data Science

El 'Manual de Python para Data Science' de Eduardo Campos Balma es una guía práctica diseñada para enseñar Python aplicado a la ciencia de datos, desde nivel principiante hasta avanzado. El manual incluye teoría, ejemplos prácticos, ejercicios, y buenas prácticas para facilitar el aprendizaje y la aplicación en entornos reales. Además, cubre temas como manipulación de datos, visualización, Machine Learning y automatización de tareas.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
12 vistas

Manual de Python Para Data Science

El 'Manual de Python para Data Science' de Eduardo Campos Balma es una guía práctica diseñada para enseñar Python aplicado a la ciencia de datos, desde nivel principiante hasta avanzado. El manual incluye teoría, ejemplos prácticos, ejercicios, y buenas prácticas para facilitar el aprendizaje y la aplicación en entornos reales. Además, cubre temas como manipulación de datos, visualización, Machine Learning y automatización de tareas.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 73

Eduardo Campos Balma

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.

Propósito del Manual


Este manual nace de la necesidad de contar con un recurso estructurado que
permita aprender Python aplicado a la ciencia de datos de manera progresiva
y con un enfoque práctico. En el mercado existen múltiples cursos y
tutoriales, pero pocos abordan el contenido de forma clara, paso a paso y con
aplicaciones reales que se usan en el día a día de una empresa.

El objetivo principal es que cualquier persona, sin importar su nivel de


experiencia, pueda aprender desde cero hasta un nivel avanzado,
entendiendo no solo el "cómo" hacer las cosas, sino también el "por qué".

Cada capítulo sigue una estructura definida que incluye:


Teoría fácil de entender – Explicaciones claras y directas.
Ejemplos prácticos – Aplicaciones reales en entornos de negocio.
Ejercicios con soluciones – Para reforzar el aprendizaje.
Tips y buenas prácticas – Consejos para mejorar la eficiencia y la
Introducción

legibilidad del código.


Errores comunes y soluciones – Para evitar problemas típicos en
proyectos de Data Science.

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.

0 Manual Completo de Python para Data Science


Índice
1. Introducción a Python para Data Science 7. Automatización de Tareas con Python
¿Por qué Python para ciencia de datos? (comparación Uso de scripts para tareas repetitivas
con Excel y SQL) Programación de tareas con schedule
Instalación y configuración del entorno (Anaconda, Manejo de APIs para obtener datos
Jupyter Notebook, VS Code) Ejemplo práctico: Automatización de extracción de
Estructura básica de Python (Variables, Tipos de datos, datos de una API financiera
Funciones)
Buenas prácticas en la redacción de scripts 8. Manejo de Bases de Datos con SQL y Python
Conectarse a bases de datos con sqlite3 y
2. Manipulación de Datos con Pandas SQLAlchemy
Introducción a Pandas CRUD en bases de datos (Create, Read, Update,
Creación y manipulación de DataFrames y Series Delete)
Limpieza de datos: Manejo de valores nulos, Consultas avanzadas con Pandas y SQL
duplicados y transformación de columnas Ejemplo práctico: Análisis de transacciones
Agrupaciones y agregaciones de datos bancarias en SQL.
Escritura y lectura de archivos CSV, Excel, SQL
Ejemplo práctico: Análisis de datos de ventas de una 9. Web Scraping con Python
empresa Uso de BeautifulSoup y Scrapy
Extracción de datos de páginas web
3. Análisis Numérico con NumPy Exportación y análisis de datos extraídos
Conceptos básicos de arrays Ejemplo práctico: Web Scraping de precios de
Operaciones matemáticas con arrays productos de e-commerce.
Indexación y slicing avanzado
Broadcasting y optimización de cálculos 10. Procesamiento de Datos con PySpark
Ejemplo práctico: Optimización de cálculos de Introducción a PySpark
métricas financieras DataFrames y Transformaciones
Optimización de consultas en Spark
4. Visualización de Datos con Matplotlib y Ejemplo práctico: Análisis de grandes volúmenes de
Seaborn datos financieros.
Tipos de gráficos y cuándo usarlos
Personalización de gráficos 11. Procesamiento de Texto con NLP y NLTK
Subplots y gráficos interactivos Tokenización y limpieza de texto
Ejemplo práctico: Visualización de tendencias de Modelado de texto con TF-IDF y Word Embeddings
mercado Ejemplo práctico: Análisis de comentarios de clientes
en redes sociales.
5. Análisis Estadístico Básico
Medidas de tendencia central y dispersión
12. Desarrollo de Dashboards con Dash y
Correlaciones y regresiones básicas Streamlit
Pruebas de hipótesis Creación de interfaces interactivas
Ejemplo práctico: Análisis de encuestas de Integración con Pandas y gráficos
satisfacción. Ejemplo práctico: Creación de dashboard interactivo
para análisis de datos de ventas.
6. Introducción a Machine Learning con Scikit-
Learn 13. Extras del Manual
Conceptos clave de Machine Learning Convenciones de código: Cómo escribir código
Tipos de modelos (regresión, clasificación) limpio y entendible
Evaluación de modelos y métricas clave Tips de optimización: Escribir código eficiente para
Ejemplo práctico: Predicción de cancelación de grandes volúmenes de datos
clientes en una empresa. Errores frecuentes y cómo solucionarlos: Para evitar
bloqueos en el trabajo
Guía de recursos adicionales: Cursos, libros y
datasets recomendados

1 Manual Completo de Python para Data Science


1. Introducción a Python para Data Science

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.

1.1 ¿Por qué Python para ciencia de datos?

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.

Herramienta Ventajas Desventajas


No escala bien con grandes
Fácil de usar, buena visualización, volúmenes de datos, requiere
Excel
integración con Office. intervención manual, limitada
automatización.
Eficiente para consultas en bases de datos No permite manipulación de datos en
SQL estructuradas, procesamiento rápido de memoria, análisis estadístico
datos tabulares. limitado.
Flexible, escalable, soporta automatización,
Python visualización avanzada, Machine Learning, Requiere curva de aprendizaje inicial
integración con APIs y bases de datos.

Ejemplo de comparación en la práctica.

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.

2 Manual Completo de Python para Data Science


1. Introducción a Python para Data Science

1.2 Instalación y configuración del entorno.

Antes de comenzar a programar, es necesario instalar las herramientas adecuadas. Existen varias
formas de configurar el entorno de Python para ciencia de datos:

Opción 1: Instalación con Anaconda (Recomendada para principiantes).

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.

Opción 2: Instalación con Python y pip (Para usuarios avanzados)

Si prefieres instalar solo Python y gestionar paquetes manualmente:


1.Descarga Python desde www.python.org.
2.Asegúrate de marcar la opción "Add Python to PATH" durante la instalación.
3.Instala las librerías necesarias con:

1.3 Estructura básica de Python.

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.

3 Manual Completo de Python para Data Science


1. Introducción a Python para Data Science

1. Números Enteros (int)


Representan valores numéricos sin decimales. Se utilizan en conteos, cantidades y cálculos
matemáticos.

Ejemplo en la empresa: Número de ventas diarias, cantidad de empleados.

Salida esperada:

2. Números Decimales (float)


Representan valores numéricos con decimales. Se utilizan en precios, porcentajes y medidas
precisas.

Ejemplo en la empresa: Precio de un producto, porcentaje de descuento.

Salida esperada:

¿Cuándo usar int y cuándo float?


•Usa int si el número representa una cantidad exacta (Ejemplo: número de clientes).
•Usa float si el número requiere precisión decimal (Ejemplo: ingresos en dólares).

4 Manual Completo de Python para Data Science


1. Introducción a Python para Data Science

3. Cadenas de Texto (str)


Almacenan información en formato de texto, como nombres de clientes, categorías de productos o
mensajes.

Ejemplo en la empresa: Nombre del cliente, descripción del producto.


python

Salida esperada:

Operaciones comunes con cadenas de texto:

Salida esperada:

5 Manual Completo de Python para Data Science


1. Introducción a Python para Data Science

4. Valores Booleanos (bool)


Solo pueden tomar dos valores: True (Verdadero) o False (Falso). Se usan para representar
estados lógicos.}

Ejemplo en la empresa: Si un producto está disponible o si un cliente tiene suscripción activa.


python

Salida esperada:

Usos prácticos en Data Science:


Los booleanos son muy usados en filtros y condiciones dentro de un dataset.

Salida esperada:

6 Manual Completo de Python para Data Science


1. Introducción a Python para Data Science

5. Listas (list)
Permiten almacenar múltiples valores en un solo objeto. Son útiles para manejar colecciones de
datos.

Ejemplo en la empresa: Lista de productos disponibles.

Salida esperada:

Manipulación de listas:

Salida esperada:

6. Tuplas (tuple)
Similares a listas, pero inmutables (no pueden modificarse después de ser creadas)

Ejemplo en la empresa: Coordenadas de una tienda en un mapa.

7 Manual Completo de Python para Data Science


1. Introducción a Python para Data Science

Salida esperada:

7. Diccionarios (dict)
Estructuras clave-valor que permiten organizar datos en pares.

Ejemplo en la empresa: Información de un cliente.

Salida esperada:

Agregar y modificar valores en un diccionario:

Salida esperada:

8 Manual Completo de Python para Data Science


1. Introducción a Python para Data Science

Resumen de los Tipos de Datos en Python

Tipo de Dato Descripción Ejemplo


int (Entero) Números sin decimales ventas_diarias = 150

float (Flotante) Números con decimales precio = 199.99

str (Cadena) Texto Nombre = “Juan Pérez”

bool (Booleano) Verdadero/Falso producto_en_stock = True

list (Lista) Conjunto de valores ordenados productos = ["Laptop",


y modificables "Celular"]

tuple (Tupla) Conjunto ordenado e inmutable


coordenadas = (40.7128, -
74.0060)

dict (Diccionario) Conjunto clave-valor cliente = {"nombre": "Ana",


"edad": 34}

Funciones en Python
Las funciones permiten reutilizar código y estructurar programas de forma eficiente.

Salida esperada:

9 Manual Completo de Python para Data Science


1. Introducción a Python para Data Science

1.4 Buenas prácticas en la redacción de scripts

Al escribir código, es fundamental seguir convenciones que faciliten la lectura y el mantenimiento:


Nombres descriptivos: Usa nombres claros para variables y funciones.
x = 10 precio_producto = 10
Espaciado adecuado: Sigue la convención de 4 espacios por nivel de indentación.
if(x>5):print("Mayor")

Comentarios útiles: Explica el propósito del código sin abusar de comentarios innecesarios.

Manejo de errores: Usa try-except para evitar fallos en el código.

Salida esperada:

Resumen de lo aprendido en este capítulo:


Python es la mejor opción para Data Science debido a su flexibilidad y potencia.
La instalación puede hacerse con Anaconda o Python puro según la preferencia del usuario.
Las variables, listas, diccionarios y funciones son fundamentales en programación.
Seguir buenas prácticas mejora la legibilidad y mantenimiento del código.

10 Manual Completo de Python para Data Science


2

Manipulación de Datos por


Pandas
2. Manipulación de Datos con Pandas

2.1 ¿Qué es Pandas y por qué es tan usado?

Pandas es una librería de Python especializada en la manipulación y análisis de datos. Es una


herramienta esencial para cualquier científico de datos porque permite:

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.

Ejemplo en la vida real

Imagina que trabajas en una empresa con miles de registros de ventas. Con Pandas puedes:

•Leer esos datos desde un archivo CSV.


•Eliminar registros vacíos o erróneos.
•Calcular totales por producto, por mes o por cliente.
•Exportar los resultados a un archivo Excel para los directivos.

2.2 Introducción a Pandas: DataFrames y Series

¿Qué es un DataFrame?
Un DataFrame es una tabla similar a una hoja de Excel: filas y columnas con datos etiquetados.

Output:

11 Manual Completo de Python para Data Science


2. Manipulación de Datos con Pandas

¿Qué es una Serie?

Una Serie es una sola columna de un DataFrame.

Output:

2.3 Carga de Datos desde Archivos

Leer archivos CSV

Leer archivos Excel

Escribir archivos

12 Manual Completo de Python para Data Science


2. Manipulación de Datos con Pandas

2.4 Limpieza de Datos

Verificar valores nulos

Eliminar filas con valores nulos

Reemplazar valores nulos por un valor específico

Eliminar duplicados

2.5 Transformación de Columnas

Crear nuevas columnas

Output:

13 Manual Completo de Python para Data Science


2. Manipulación de Datos con Pandas

Cambiar nombre de columnas

2.6 Agrupaciones y Agregaciones

2.7 Ejemplo Práctico: Análisis de Datos de Ventas

Supón que tienes el siguiente archivo de ventas:

Output:

14 Manual Completo de Python para Data Science


2. Manipulación de Datos con Pandas

2.8 Ejercicio con Solución

Ejercicio:
Dado el siguiente DataFrame, agrega una columna que indique si el producto tiene stock suficiente
(más de 20 unidades).

Solución:

Output:

2.9 Tips y Buenas Prácticas


Usa df.head() y df.info() para inspeccionar rápidamente los datos.
Mantén una copia de seguridad antes de realizar cambios con inplace=True.
Revisa la forma del DataFrame con df.shape antes y después de transformaciones.
Usa nombres de columnas claros y consistentes.

2.10 Errores Comunes y Cómo Solucionarlos


Error: "KeyError: 'columna'"
Solución: Verifica que el nombre de la columna existe. Usa df.columns para listar todas.
Error: ValueError: Length of values does not match length of index
Solución: Asegúrate de que al crear una nueva columna, el número de elementos coincida con
las filas del DataFrame.
Error: FileNotFoundError al leer un archivo.
Solución: Verifica la ruta del archivo o usa rutas absolutas (r"C:\ruta\archivo.csv" en Windows).

15 Manual Completo de Python para Data Science


3

Análisis Numérico con NumPy


3. Análisis Numérico con NumPy

3.1 ¿Qué es NumPy y por qué es tan importante?

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

Consumo de Memoria Alto Bajo

Funciones matemáticas integradas No Sí

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:

Cada número está en una posición específica (índice), y tú puedes decir:


"Dame el número que está en la posición 2" → y obtienes 30 (porque se empieza a contar desde
0).
¿Y para qué sirve un array?
Sirve para guardar muchos datos en una sola variable y poder hacer cálculos con todos ellos al
mismo tiempo y de forma muy rápida.
Por ejemplo, si tienes los precios de 5 productos:

Y quieres aplicar un 10% de descuento a todos, en lugar de hacerlo uno por uno, puedes hacerlo
así:

16 Manual Completo de Python para Data Science


3. Análisis Numérico con NumPy

3.2 Crear Arrays con NumPy

Output:

3.3 Operaciones Matemáticas con Arrays

Output:

17 Manual Completo de Python para Data Science


3. Análisis Numérico con NumPy

También puedes usar funciones como:

3.4 Indexación y Slicing Avanzado

Output:

18 Manual Completo de Python para Data Science


3. Análisis Numérico con NumPy

3.5 Broadcasting: Operaciones sin bucles

NumPy permite aplicar operaciones entre arrays de distintas formas sin necesidad de bucles.

Output:

3.6 Ejemplo Práctico: Optimización de métricas financieras

Imagina que tu empresa tiene una lista de ingresos y egresos. Vamos a calcular el beneficio
neto mensual.

Output:

19 Manual Completo de Python para Data Science


3. Análisis Numérico con NumPy

3.7 Ejercicio con Solución

Ejercicio:
Calcula la ganancia total del trimestre para 3 productos con los siguientes arrays:

Solución:

Output:

3.8 Tips y Buenas Prácticas

Usa np.array() en lugar de listas para operaciones numéricas intensas.


Aprovecha funciones como np.mean(), np.max(), np.sum() para cálculos rápidos.
Evita bucles siempre que puedas: ¡usa broadcasting!
Usa astype() para convertir tipos de datos si es necesario.

3.9 Errores Comunes y Cómo Solucionarlos

Error: ValueError: operands could not be broadcast together


Solución: Asegúrate de que los arrays tengan dimensiones compatibles para operaciones.
Error: TypeError: can't multiply sequence by non-int of type 'float'
Solución: Verifica que estás usando arrays de NumPy y no listas de Python.

20 Manual Completo de Python para Data Science


4

Visualización de Datos con


Matplotlib y Seaborn
4. Visualización de Datos con Matplotlib y Seaborn

4.1 ¿Qué son Matplotlib y Seaborn y por qué usarlos?

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.

¿Por qué usarlos en vez de Power BI?

Característica Power BI Matplotlib / Seaborn


Visualización interactiva Sí Limitada

Personalización avanzada Limitada Total (hasta nivel de pixel)

Automatización No Si (scripts Python)

Integración con ML No Sí

Gratuito Limitado (Pro de pago) Completamente gratuito

4.2 Primeros pasos con Matplotlib

Salida esperada: Un gráfico de barras simple con productos y unidades vendidas.

21 Manual Completo de Python para Data Science


4. Visualización de Datos con Matplotlib y Seaborn

4.3 Primeros pasos con Seaborn

Ideal para detectar productos con ventas atípicas o muy variables.

4.4 Tipos de gráficos útiles

Gráfico de líneas
Ideal para mostrar tendencias a lo largo del tiempo.

22 Manual Completo de Python para Data Science


4. Visualización de Datos con Matplotlib y Seaborn

Gráfico de correlación (mapa de calor)

Útil para ver qué variables influyen entre sí.

Histograma

23 Manual Completo de Python para Data Science


4. Visualización de Datos con Matplotlib y Seaborn

4.5 Ejercicio con Solución

Ejercicio:
Dibuja un gráfico de barras con los siguientes datos de ventas:

Solución:

4.6 Tips y Buenas Prácticas


Usa plt.figure(figsize=(ancho, alto)) para controlar el tamaño del gráfico.
Siempre añade título, ejes y etiquetas.
Usa sns.set(style="whitegrid") para mejorar la estética con Seaborn.
Combina Matplotlib + Seaborn para más control.

4.7 Errores Comunes y Soluciones


Error: ValueError: x and y must have same first dimension
Solución: Asegúrate de que los datos para el eje X y Y tengan la misma longitud.
Error: No aparece el gráfico.
Solución: No olvides usar plt.show() al final.
Error: Gráficos encimados.
Solución: Usa plt.clf() o plt.figure() antes de crear un nuevo gráfico.

24 Manual Completo de Python para Data Science


5

Análisis Estadístico Básico


5. Análisis Estadístico Básico

5.1 ¿Por qué es importante la estadística en Data Science?

La estadística es el corazón de la ciencia de datos. Permite entender, resumir y extraer patrones


de los datos antes de aplicar cualquier modelo de Machine Learning.
En la práctica empresarial, la estadística responde preguntas como:

•¿Cuál es el promedio de ventas mensual?


•¿Hay mucha variación entre clientes?
•¿Existe relación entre inversión en publicidad y ganancias?

5.2 Medidas de Tendencia Central

Media (Promedio)

Output:

Mediana

Output:

25 Manual Completo de Python para Data Science


5. Análisis Estadístico Básico

Moda (valor más frecuente)

Output:

5.3 Medidas de Dispersión

Rango

Varianza y Desviación estándar

Interpretación: Cuanto más alta la desviación, más dispersos están los datos.

26 Manual Completo de Python para Data Science


5. Análisis Estadístico Básico

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:

Se observa una correlación casi perfecta entre publicidad y ventas.

5.5 Regresión Lineal Básica

Este gráfico permite visualizar la relación lineal entre las variables.

27 Manual Completo de Python para Data Science


5. Análisis Estadístico Básico

5.6 Pruebas de Hipótesis (introductoria)


Las pruebas de hipótesis ayudan a validar suposiciones con base en datos.

Prueba t de medias
¿Hay diferencia significativa entre dos grupos de ingresos?

Si el p_valor < 0.05, se considera estadísticamente significativa.

5.7 Ejercicio con Solución


Ejercicio:
Tienes estos ingresos mensuales de 5 tiendas:

Calcula:
•Media
•Rango
•Desviación estándar

Solución:

28 Manual Completo de Python para Data Science


5. Análisis Estadístico Básico

5.8 Tips y Buenas Prácticas


Usa estadísticas antes de aplicar modelos predictivos.
La desviación estándar es clave para entender variabilidad.
Visualiza correlaciones antes de asumir relaciones.
Cuidado: correlación no implica causalidad.

5.9 Errores Comunes y Soluciones


Error: "divide by zero"
Asegúrate de no tener listas vacías o con valores constantes.
Error: AttributeError: 'list' object has no attribute 'mean'
Convierte listas a arrays con np.array(lista).

29 Manual Completo de Python para Data Science


6

Introducción a Machine
Learning con Scikit-Learn
6. Introducción a Machine Learning con Scikit-Learn

6.1 ¿Qué es Machine Learning (ML)?

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:

Predecir cancelación de clientes (churn)


Detectar fraudes
Clasificar correos como spam o no spam
Predecir ventas, demanda o precios

¿Qué es Scikit-learn y cómo funciona?


Scikit-learn es una librería de Python diseñada para que puedas aplicar algoritmos de Machine
Learning de forma rápida y simple, sin necesidad de programarlos desde cero.

¿Qué hace Scikit-learn por ti?


Scikit-learn te ayuda a:
1. Preparar los datos
•Dividir los datos en entrenamiento y prueba
•Normalizar o escalar los valores (por ejemplo, pasar salarios de miles a un rango de 0 a 1)
2. Seleccionar un modelo
Puedes elegir entre modelos de:
•Clasificación (Ej: ¿cliente se va o no?)
•Regresión (Ej: ¿cuánto se venderá mañana?)
•Clustering (Ej: agrupar clientes por similitud)
•Reducción de dimensionalidad (Ej: simplificar muchas variables)
3. Entrenar el modelo
El modelo aprende de los datos históricos y extrae patrones. Esto se hace con .fit()
4. Predecir con nuevos datos
Una vez entrenado, el modelo puede usar nuevos datos para hacer predicciones con .predict()
5. Evaluar el rendimiento
Te da herramientas como exactitud, precisión, matriz de confusión y más para saber qué tan
bien está funcionando tu modelo.

¿Cómo fluye el proceso en Scikit-learn?


Paso a paso:

30 Manual Completo de Python para Data Science


6. Introducción a Machine Learning con Scikit-Learn

6.4 Ejemplo práctico: Predicción de cancelación de clientes

Paso 1: Datos de ejemplo

Paso 2: Preparación del modelo

31 Manual Completo de Python para Data Science


6. Introducción a Machine Learning con Scikit-Learn

Paso 3: Evaluación del modelo

Si obtienes 1.0 → significa que el modelo predijo correctamente todos los casos del conjunto de
prueba.

6.5 Interpretación del modelo

Cada coeficiente indica cuánto influye cada variable en la probabilidad de cancelación.

6.6 Ejercicio con solución

Ejercicio:
Utiliza este dataset para entrenar un modelo de regresión lineal que prediga las ventas en base
a la inversión en publicidad.

32 Manual Completo de Python para Data Science


6. Introducción a Machine Learning con Scikit-Learn

Solución:

Salida esperada:

6.7 Tips y Buenas Prácticas


Normaliza o escala los datos si usas modelos sensibles a magnitudes.
Usa train_test_split para evitar sobreajuste.
Guarda el modelo entrenado con joblib o pickle si vas a usarlo después.
Compara varios modelos: no te quedes solo con uno.

6.8 Errores Comunes y Soluciones


Error: "ValueError: could not convert string to float"
Solución: Asegúrate de que las variables numéricas no contengan texto.
Error: "Expected 2D array, got 1D array instead"
Solución: Usa doble corchete para variables predictoras (X = df[["col"]])
Error: modelo predice siempre lo mismo
Solución: Puede que las variables no sean informativas, o el modelo esté sobreajustado.

¿Por qué Scikit-learn es tan popular?


Tiene una API uniforme (todos los modelos usan .fit() y .predict())
Es fácil de usar, incluso para no programadores avanzados
Funciona bien con Pandas y NumPy
Es rápido y eficiente
Es open-source y muy bien documentado

33 Manual Completo de Python para Data Science


7

Automatización de Tareas
con Python
7. Automatización de Tareas con Python

7.1 ¿Por qué automatizar con Python?


En el trabajo diario de un analista o científico de datos, muchas tareas se repiten constantemente:
cargar archivos, limpiar datos, generar reportes, enviar emails o consultar APIs. Automatizar estos
procesos con Python permite:

Ahorrar tiempo
Reducir errores humanos
Estandarizar flujos de trabajo
Ejecutar tareas sin intervención manual

7.2 Librerías útiles para automatización

Librería ¿Para qué sirve?


os Manipular archivos carpetas

datetime Fechas y horas

schedule Programar tareas automáticas

time Controlar pausas temporales

requests Acceder a APIs y página web.

pandas Manipular datos de forma eficiente.

7.3 Automatizar procesos repetitivos

Ejemplo: cargar un archivo CSV cada mañana y limpiar datos

34 Manual Completo de Python para Data Science


7. Automatización de Tareas con Python

7.4 Programar tareas automáticas con schedule

Este script debe estar activo en segundo plano (en una terminal o servidor).

7.5 Acceder a una API automáticamente

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.

35 Manual Completo de Python para Data Science


7. Automatización de Tareas con Python

7.6 Ejemplo práctico: Automatizar descarga diaria de datos financieros

Puedes programarlo con schedule para ejecutarlo automáticamente todos los días.

7.7 Ejercicio con Solución

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:

36 Manual Completo de Python para Data Science


7. Automatización de Tareas con Python

7.8 Tips y Buenas Prácticas


Usa nombres claros en archivos generados automáticamente (como incluir la fecha)
Guarda logs o registros de cada tarea automatizada
Si una tarea falla, captura errores con try-except
Usa while True solo si tienes control del entorno o un servidor dedicado

7.9 Errores Comunes y Cómo Solucionarlos


PermissionError al guardar archivos
Solución: Verifica que el archivo no esté abierto o que tengas permisos de escritura
FileNotFoundError
Solución: Usa os.path.exists() para comprobar antes de procesar
requests.exceptions.ConnectionError
Solución: Captura con try-except y agrega reintentos o espera

37 Manual Completo de Python para Data Science


8

Manejo de Bases de Datos


con SQL y Python
8. Manejo de Bases de Datos con SQL y Python

8.1 ¿Por qué conectar Python con bases de datos?


Las bases de datos son el corazón del almacenamiento de información empresarial. Con
Python, puedes:

Acceder a datos en tiempo real


Realizar consultas SQL desde scripts
Limpiar, transformar y analizar resultados con Pandas
Automatizar reportes directamente desde la base de datos

8.2 Librerías esenciales

Librería ¿Para qué sirve?


sqlite3 Conectar a bases de datos SQLite (ligeras)

SQLAlchemy Conexión universal a muchas bases de datos

pymysql Conexión a bases MySQL desde Python

psycopg2 Conexión a PostgreSQL

pandas.read_sql() Lee el resultado de una consulta como DataFrame

8.3 Conectarse a una base de datos SQLite

38 Manual Completo de Python para Data Science


8. Manejo de Bases de Datos con SQL y Python

8.4 Insertar datos

8.5 Leer datos con Pandas

Output:

8.6 Actualizar y eliminar registros

39 Manual Completo de Python para Data Science


8. Manejo de Bases de Datos con SQL y Python

8.7 Consultas avanzadas y filtros

8.8 Ejemplo práctico: Análisis de transacciones bancarias


Supón que tienes una tabla llamada transacciones:

Consulta desde Python:

Resultado: clientes con saldo positivo total.

40 Manual Completo de Python para Data Science


8. Manejo de Bases de Datos con SQL y Python

8.9 Ejercicio con solución

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:

41 Manual Completo de Python para Data Science


8. Manejo de Bases de Datos con SQL y Python

8.10 Tips y Buenas Prácticas


Siempre cierra la conexión (conexion.close())
Usa ? en las consultas para evitar inyecciones SQL
Usa pandas.read_sql() para trabajar fácilmente con los datos
Usa try-except para capturar errores de conexión

8.11 Errores comunes y soluciones


sqlite3.OperationalError: no such table
Solución: Asegúrate de que la tabla fue creada correctamente
Database is locked
Solución: Revisa si otra conexión quedó abierta
TypeError: expected str, got int
Solución: Usa ? y pasa los valores como tuplas

42 Manual Completo de Python para Data Science


9

Web Scraping con Python


9. Web Scraping con Python

9.1 ¿Qué es el Web Scraping?


El Web Scraping es una técnica que permite extraer información de páginas web de forma
automática. Es útil cuando:

No hay una API disponible


Se necesita monitorear precios, noticias o productos
Queremos construir datasets propios a partir de páginas públicas

Ejemplos de uso real:


•Extraer precios de productos en e-commerce
•Obtener titulares de noticias
•Recopilar reseñas de clientes
9.2 Herramientas principales

Herramienta Función principal


requests Descargar el contenido HTML de una web.

BeautifulSoup Interpretar y navegar el HTML descargado

Scrapy Librería más potente y estructurada para scraping a gran escala.

9.3 Cómo hacer Web Scraping con requests y BeautifulSoup

Paso 1: Instalar librerías necesarias

Paso 2: Extraer datos de una página web

Salida esperada: Títulos de libros en la página principal.

43 Manual Completo de Python para Data Science


9. Web Scraping con Python

9.4 Extraer precios de productos

Resultado: Precios como £53.74, £23.88, etc.

9.5 Estructurar los datos con Pandas

9.6 Ejemplo práctico: Scraping de productos de e-commerce


Supón que quieres automatizar la búsqueda de precios de laptops en una web pública.

44 Manual Completo de Python para Data Science


9. Web Scraping con Python

9.7 Ejercicio con solución

Ejercicio:
Extrae los títulos y precios del sitio https://books.toscrape.com/ y guárdalos en un CSV llamado
libros.csv.
Solución:

9.8 Tips y Buenas Prácticas


Respeta los términos de uso de las páginas (lee el robots.txt)
Usa time.sleep() para no hacer peticiones agresivas
Si la página usa JavaScript para cargar datos, puede que necesites usar Selenium
Evita hacer scraping de páginas con protección legal sin permiso

9.9 Errores comunes y soluciones


403 Forbidden
Solución: Agrega headers como User-Agent en la solicitud
NoneType object has no attribute
Solución: Revisa que el elemento realmente exista con una condición if elemento:
IndexError al crear listas
Solución: Asegúrate de que el número de elementos extraídos coincida (por ejemplo, títulos y
precios)

45 Manual Completo de Python para Data Science


10

Procesamiento de Datos con


PySpark
10. Procesamiento de Datos con PySpark

10.1 ¿Qué es PySpark?


PySpark es la interfaz en Python de Apache Spark, una plataforma diseñada para procesar grandes
volúmenes de datos distribuidos de manera rápida y eficiente.

¿Por qué usar PySpark?


•Procesa millones de filas sin esfuerzo
•Es ideal para trabajar con datos que no caben en memoria
•Permite hacer transformaciones, análisis y machine learning en paralelo

10.2 ¿Dónde se usa PySpark?


Empresas que manejan grandes volúmenes de logs, datos financieros, sensores o e-commerce.
Proyectos de Big Data, ETL y arquitecturas en la nube (AWS, Azure, GCP).

10.3 Primeros pasos: iniciar una sesión


Requisitos
Instala PySpark (si estás trabajando en local):

Iniciar sesión de Spark

10.4 Crear un DataFrame

46 Manual Completo de Python para Data Science


10. Procesamiento de Datos con PySpark

Output:

10.5 Operaciones básicas

10.6 Leer datos desde un archivo CSV

inferSchema=True detecta automáticamente los tipos de datos


.show() funciona como head() en Pandas

47 Manual Completo de Python para Data Science


10. Procesamiento de Datos con PySpark

10.7 Transformaciones comunes

10.8 Ejemplo práctico: Análisis de ventas masivas

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

48 Manual Completo de Python para Data Science


10. Procesamiento de Datos con PySpark

10.9 Ejercicio con solución

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:

10.10 Tips y Buenas Prácticas


Usa Spark solo cuando los datos son realmente grandes
Usa cache() si vas a usar un DataFrame varias veces
Evita collect() en datasets grandes (descarga todo en memoria)
Trabaja con .parquet si necesitas rendimiento alto

10.11 Errores comunes y cómo solucionarlos


OutOfMemoryError
Solución: Filtra y transforma sin cargar todo a memoria
NameError: name 'col' is not defined
Solución: Asegúrate de importar col desde pyspark.sql.functions
Problemas con tipos de datos
Usa .printSchema() para entender la estructura del DataFrame

49 Manual Completo de Python para Data Science


11

Procesamiento de Texto con


NLP y NLTK
11. Procesamiento de Texto con NLP y NLTK

11.1 ¿Qué es NLP (Natural Language Processing)?


NLP (Procesamiento del Lenguaje Natural) es una rama de la inteligencia artificial que permite a
las máquinas entender, interpretar y generar lenguaje humano. Es muy útil en:

Análisis de opiniones de clientes


Clasificación de correos (spam/no spam)
Chatbots inteligentes
Extracción de palabras clave o sentimientos

11.2 Herramientas para trabajar con texto

Librería ¿Para qué se usa?


nltk Procesamiento básico de lenguaje.

re Expresiones regulares (limpieza)

sklearn Vectorización de texto y clasificación.

spacy Análisis sintáctico y entidades.

En esta sección usaremos nltk, por ser ideal para comenzar.

11.3 Preparación inicial


Instalación de librerías

Descargar recursos de NLTK

50 Manual Completo de Python para Data Science


11. Procesamiento de Texto con NLP y NLTK

11.4 Limpieza y tokenización de texto

Output:

51 Manual Completo de Python para Data Science


11. Procesamiento de Texto con NLP y NLTK

11.5 Vectorización de texto con TF-IDF


Para que los algoritmos entiendan texto, debemos convertirlo en números. Usamos técnicas como
TF-IDF para representar la importancia de cada palabra.

11.6 Ejemplo práctico: Análisis de opiniones de clientes

52 Manual Completo de Python para Data Science


11. Procesamiento de Texto con NLP y NLTK

11.7 Ejercicio con solución


Ejercicio:
Dado el siguiente texto, realiza la limpieza y muestra las palabras más importantes (sin stopwords ni
signos):

Solución:

Salida esperada:

11.8 Tips y Buenas Prácticas


Elimina ruido del texto (tildes, símbolos, etc.)
Usa TF-IDF si el análisis es sobre importancia de palabras
Tokeniza antes de aplicar cualquier modelo
Comienza con NLTK y luego puedes migrar a librerías más avanzadas como SpaCy

11.9 Errores comunes y soluciones


LookupError al tokenizar
Solución: Asegúrate de haber hecho nltk.download("punkt")
Muchas palabras vacías en el resultado
Solución: Aplica stopwords correctamente
Mal conteo de palabras
Solución: Convierte a minúsculas antes de tokenizar

53 Manual Completo de Python para Data Science


12

Desarrollo de Dashboards
con Dash y Streamlit
12. Desarrollo de Dashboards con Dash y Streamlit

12.1 ¿Por qué crear dashboards con Python?

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.2 Herramientas disponibles

Herramienta Características principales


Dash Profesional, flexible, basado en Flask + Plotly.

Streamlit Súper fácil de usa, ideal para prototipos rápidos.

Ambas son open-source y muy populares en el ecosistema de Data Science.

12.3 Instalación

12.4 Crear un dashboard básico con Streamlit


app.py

54 Manual Completo de Python para Data Science


12. Desarrollo de Dashboards con Dash y Streamlit

Ejecutar:

Resultado: Una página web interactiva local con selección y gráficos.

12.5 Crear un dashboard básico con Dash

Resultado: Aplicación web local completamente interactiva.

55 Manual Completo de Python para Data Science


12. Desarrollo de Dashboards con Dash y Streamlit

12.6 Ejercicio con solución

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:

12.7 Tips y Buenas Prácticas


Usa Streamlit para pruebas rápidas y Dash para proyectos más complejos
No cargues archivos grandes directamente: usa bases de datos si es posible
Mantén el diseño limpio y simple
Usa gráficos de Plotly para dashboards profesionales

12.8 Errores comunes


ModuleNotFoundError
Solución: Asegúrate de tener dash o streamlit instalados correctamente
Port already in use
Solución: Cierra otras sesiones o usa otro puerto
Dashboard muy lento
Solución: Usa @st.cache (Streamlit) o dcc.Store (Dash) para mejorar rendimiento

56 Manual Completo de Python para Data Science


13

Extras del Manual de


Python para Data Science
13. Extras del Manual de Python para Data Science

1. Convenciones de Código: Escribir limpio y legible


Seguir estándares mejora la colaboración, el mantenimiento y la comprensión de tu código.

Nombres de variables
•Usa nombres claros y en minúsculas, separados por guiones bajos (snake_case)

Comentarios útiles

•Explica el por qué, no solo el qué:

Organización del código


•Usa bloques: importaciones, funciones, ejecución
•Evita código repetido: crea funciones reutilizables

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

3. Errores frecuentes y cómo solucionarlos

Error Causa común Solución


Acceso a columna
KeyError Verifica el nombre exacto.
inexistente.
Dimensiones Asegura que lo arrays tengan el mismo
ValueError
incompatibles. tamaño.
FileNotFoundError Ruta incorrecta. Usa rutas absolutas o verifica ubicación.
SettingWithCopyWarn Modificación ambigua en
Usa .loc[ ] correctamente.
ing Pandas.
Convierte datos con .astype() si es
TypeError Tipos incompatibles
necesario.

57 Manual Completo de Python para Data Science


13. Extras del Manual de Python para Data Science

4. Recursos recomendados para seguir aprendiendo


Cursos gratuitos
•Google Data Analytics (Coursera)
•Python for Data Science (freeCodeCamp)
•Intro to Machine Learning (Kaggle)

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!

58 Manual Completo de Python para Data Science

También podría gustarte