CURSO: PYTHON PARA ANÁLISIS DE DATOS CON DEEPSEEK AI

CURSO: PYTHON PARA ANÁLISIS DE DATOS CON DEEPSEEK AI

Subtítulo: Transforma datos en conocimiento. Aprende a importar, limpiar, analizar y visualizar datos con Python, utilizando las librerías más potentes del ecosistema: pandas, matplotlib y seaborn, con un tutor que te guía en cada gráfica y te ayuda a interpretar cada resultado

FICHA TÉCNICA

Campo Descripción
Código MUN-DATOS-001
Carga horaria total 45 horas (recomendado: 3 horas por semana durante 15 semanas)
Modalidad 100% textual guiada por DeepSeek AI, con ejercicios prácticos de análisis de datos, limpieza de datasets, visualización de gráficos, análisis exploratorio y un proyecto final de ciencia de datos
Nivel educativo Intermedio. Adaptable a Bachillerato, Formación Profesional (Informática, Comercio, Marketing, Sanidad) y ámbito universitario. La complejidad de los ejercicios se gradúa según el nivel del alumno
Riesgo Medio (frustración con la instalación de librerías, confusión con los DataFrames al inicio, posible sobreinterpretación de correlaciones espurias, riesgo de trabajar con datos sesgados sin detectarlo). La IA no ve la pantalla del alumno; el facilitador debe verificar la comprensión de los conceptos estadísticos básicos
Dirigido a Estudiantes que ya dominan los fundamentos de programación en Python y quieren adentrarse en el mundo de la ciencia de datos, el análisis estadístico y la visualización de información. Ideal como continuación del curso de Programación con Python
Prerrequisito Haber completado el curso de Programación y Pensamiento Computacional con Python (MUN-PYT-001) o tener conocimientos equivalentes (variables, condicionales, bucles, funciones, listas, diccionarios). Disponer de un ordenador con Python instalado y las librerías pandas, matplotlib, seaborn y numpy. Conexión a internet. Autorización parental para menores de edad
Corpus obligatorio cargado en DeepSeek Documentación oficial de pandas, matplotlib y seaborn, Guía de análisis exploratorio de datos (EDA), Referencia de estadística descriptiva, Manual de visualización de datos, Conjuntos de datos de práctica (Iris, Titanic, tips, gapminder)
Certificación Diploma de aprovechamiento en Python para Análisis de Datos con IA. NO es una certificación profesional de científico de datos

AVISO PARA EL ESTUDIANTE (LECTURA OBLIGATORIA)

Los datos son el petróleo del siglo XXI. Pero sin refinar, no sirven de nada. Aprenderás a convertir datos en bruto en información útil.

DeepSeek te guiará en cada línea de código, en cada gráfica y en cada análisis. Pero recuerda:

· Correlación no implica causalidad. Que dos variables se muevan juntas no significa que una cause la otra. Aprenderás a ser escéptico con los datos.
· Los gráficos pueden mentir. Una escala mal elegida o un eje truncado pueden distorsionar la realidad. Aprenderás a crear visualizaciones honestas.
· Los datos están sucios. Pasarás más tiempo limpiando datos que analizándolos. Es normal. Es parte del oficio.
· No compartas datos reales (personales, médicos, financieros) con la IA. Utiliza siempre los datasets de práctica proporcionados.

MAPA GENERAL DEL CURSO

Parte Título Horas Enfoque
I Fundamentos de pandas: DataFrames y Series 10 h Instalación, carga de datos, exploración, filtrado, limpieza básica
II Manipulación y transformación de datos 12 h Agrupaciones, merges, pivoteo, valores nulos, tipos de datos, funciones apply
III Visualización de datos con matplotlib y seaborn 14 h Gráficos de líneas, barras, dispersión, histogramas, boxplots, correlación
IV Análisis exploratorio y proyecto integrador 9 h EDA completo, storytelling con datos, proyecto final, presentación

PARTE I: FUNDAMENTOS DE PANDAS. DATAFRAMES Y SERIES

(10 horas)

Capítulo 1. Bienvenido al laboratorio de datos

(1 hora)

· Inciso 1.1. ¿Cómo funciona este curso? Tú analizas datos; DeepSeek te guía
· Inciso 1.2. Conoce a tu tutor DeepSeek: cómo pedirle que revise tu código, que te explique un error o que te sugiera un tipo de gráfico para tus datos
· Inciso 1.3. Tu cuaderno de analista de datos: fragmentos de código, gráficos comentados, hallazgos
· Inciso 1.4. Primera provocación: «DeepSeek, ¿por qué se dice que un científico de datos pasa el 80% de su tiempo limpiando datos y solo el 20% analizándolos? ¿Es realmente así?»

Capítulo 2. Configuración del entorno y primeros pasos con pandas

(2 horas)

· Inciso 2.1. Instalación de librerías: pip install pandas matplotlib seaborn numpy o uso de Google Colab (sin instalación)
· Subinciso 2.1.1. Ejercicio guiado: «DeepSeek, quiero usar Google Colab para no instalar nada. Guíame para abrir un notebook y cargar las librerías»
· Inciso 2.2. Importación de librerías con alias estándar:
«`python
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
«`
· Inciso 2.3. ¿Qué es un DataFrame? Una tabla bidimensional con filas y columnas, como una hoja de cálculo en memoria
· Inciso 2.4. Crear tu primer DataFrame desde un diccionario:
«`python
datos = {
‘Nombre’: [‘Ana’, ‘Carlos’, ‘Beatriz’],
‘Edad’: [16, 17, 15],
‘Nota’: [8.5, 7.0, 9.2]
}
df = pd.DataFrame(datos)
«`
· Inciso 2.5. Ejercicio práctico: crea un DataFrame con datos de tus compañeros de clase o de personajes de una serie

Capítulo 3. Carga y exploración de datos

(3 horas)

· Inciso 3.1. Cargar datos desde archivos CSV: pd.read_csv(‘archivo.csv’). Parámetros útiles: sep, encoding=’utf-8′, index_col
· Inciso 3.2. Cargar datos desde Excel: pd.read_excel(‘archivo.xlsx’, sheet_name=’Hoja1′)
· Inciso 3.3. Datasets de práctica integrados: sns.load_dataset(‘iris’), sns.load_dataset(‘titanic’), sns.load_dataset(‘tips’)
· Inciso 3.4. Primeros comandos de exploración:
· df.head(10) y df.tail(5) → primeras y últimas filas
· df.shape → dimensiones (filas, columnas)
· df.info() → tipos de datos y valores no nulos
· df.describe() → estadísticas descriptivas (media, desviación, mín, máx, cuartiles)
· df.columns → lista de nombres de columnas
· df.dtypes → tipos de datos de cada columna
· Inciso 3.5. Ejercicio práctico: carga el dataset del Titanic y explora sus dimensiones, tipos de datos y estadísticas básicas

Capítulo 4. Selección y filtrado de datos

(3 horas)

· Inciso 4.1. Seleccionar columnas: df[‘Nombre’] (una columna, devuelve Series), df[[‘Nombre’, ‘Edad’]] (varias columnas, devuelve DataFrame)
· Inciso 4.2. Seleccionar filas por posición: df.iloc[0] (primera fila), df.iloc[5:10] (filas 5 a 9), df.iloc[0, 2] (fila 0, columna 2)
· Inciso 4.3. Seleccionar filas por índice o condición: df.loc[df[‘Edad’] > 16] (todas las filas donde Edad > 16)
· Inciso 4.4. Filtros con condiciones múltiples:
· & para AND: df[(df[‘Edad’] > 15) & (df[‘Nota’] >= 7)]
· | para OR: df[(df[‘Nombre’] == ‘Ana’) | (df[‘Nombre’] == ‘Carlos’)]
· ~ para NOT: df[~(df[‘Edad’] < 16)]
· Inciso 4.5. Método .query(): df.query(‘Edad > 16 and Nota >= 7’)
· Inciso 4.6. Ejercicio práctico: filtra los pasajeros del Titanic que viajaban en primera clase y sobrevivieron

Capítulo 5. Limpieza de datos I: valores nulos y duplicados

(1 hora)

· Inciso 5.1. Detectar valores nulos: df.isnull().sum(), df.isna().any()
· Inciso 5.2. Eliminar filas o columnas con nulos: df.dropna(), df.dropna(axis=1)
· Inciso 5.3. Rellenar valores nulos: df[‘Edad’].fillna(df[‘Edad’].mean()), df.fillna(0)
· Inciso 5.4. Detectar y eliminar duplicados: df.duplicated().sum(), df.drop_duplicates()
· Inciso 5.5. Ejercicio práctico: identifica y trata los valores nulos en el dataset del Titanic

PARTE II: MANIPULACIÓN Y TRANSFORMACIÓN DE DATOS

(12 horas)

Capítulo 6. Transformación de columnas y creación de nuevas variables

(3 horas)

· Inciso 6.1. Renombrar columnas: df.rename(columns={‘Nombre’: ‘name’, ‘Edad’: ‘age’})
· Inciso 6.2. Crear nuevas columnas a partir de existentes:
«`python
df[‘IMC’] = df[‘Peso’] / (df[‘Altura’] ** 2)
df[‘MayorEdad’] = df[‘Edad’] >= 18
«`
· Inciso 6.3. df.apply() para aplicar funciones personalizadas a columnas o filas: df[‘Nombre_Mayus’] = df[‘Nombre’].apply(str.upper)
· Inciso 6.4. df.map() y df.replace() para reemplazar valores
· Inciso 6.5. Crear columnas categóricas a partir de numéricas con pd.cut(): df[‘GrupoEdad’] = pd.cut(df[‘Edad’], bins=[0, 18, 30, 50, 100], labels=[‘Joven’, ‘Adulto’, ‘Mediana’, ‘Senior’])
· Inciso 6.6. Ejercicio práctico: en el dataset del Titanic, crea una columna EsMenor que indique si el pasajero es menor de edad y una columna Familia que sume hermanos, padres e hijos

Capítulo 7. Ordenación y ranking

(2 horas)

· Inciso 7.1. Ordenar DataFrame: df.sort_values(‘Edad’), df.sort_values(‘Nota’, ascending=False)
· Inciso 7.2. Ordenar por múltiples columnas: df.sort_values([‘Ciudad’, ‘Edad’], ascending=[True, False])
· Inciso 7.3. df.rank() para crear rankings
· Inciso 7.4. df.nlargest(5, ‘Nota’) y df.nsmallest(3, ‘Edad’)
· Inciso 7.5. Ejercicio práctico: ordena los pasajeros del Titanic por clase y luego por edad, y muestra los 10 de mayor edad

Capítulo 8. Agrupaciones y agregaciones con groupby

(3 horas)

· Inciso 8.1. El poder de groupby: dividir el DataFrame en grupos y aplicar funciones de agregación
«`python
df.groupby(‘Ciudad’)[‘Nota’].mean()
«`
· Inciso 8.2. Agregaciones múltiples con .agg():
«`python
df.groupby(‘Ciudad’).agg({‘Nota’: [‘mean’, ‘min’, ‘max’, ‘count’], ‘Edad’: ‘mean’})
«`
· Inciso 8.3. Funciones de agregación comunes: mean, sum, count, min, max, std, var, median
· Inciso 8.4. Agrupar por múltiples columnas: df.groupby([‘Sexo’, ‘Ciudad’])[‘Nota’].mean()
· Inciso 8.5. pd.pivot_table(): tablas dinámicas al estilo Excel
· Inciso 8.6. Ejercicio práctico: calcula la tarifa media, la edad media y la tasa de supervivencia por clase y sexo en el Titanic

Capítulo 9. Combinación de DataFrames: merge, join y concat

(2 horas)

· Inciso 9.1. pd.merge(): unir dos DataFrames por una columna clave, similar a SQL JOIN. Tipos: inner, left, right, outer
· Inciso 9.2. pd.concat(): concatenar DataFrames vertical u horizontalmente
· Inciso 9.3. df.join(): unir por índice
· Inciso 9.4. Ejercicio práctico: crea dos DataFrames (alumnos y notas) y únelos para tener toda la información en uno solo

Capítulo 10. Limpieza de datos II: tipos de datos, strings y fechas

(2 horas)

· Inciso 10.1. Conversión de tipos: df[‘Edad’] = df[‘Edad’].astype(int), pd.to_numeric(df[‘Columna’], errors=’coerce’)
· Inciso 10.2. Trabajar con columnas de texto: df[‘Nombre’].str.upper(), .str.contains(), .str.replace(), .str.split()
· Inciso 10.3. Trabajar con fechas: pd.to_datetime(df[‘Fecha’]). Extraer año, mes, día: df[‘Fecha’].dt.year
· Inciso 10.4. Ejercicio práctico: limpia un dataset con fechas mal formateadas y nombres con espacios extra

PARTE III: VISUALIZACIÓN DE DATOS CON MATPLOTLIB Y SEABORN

(14 horas)

Capítulo 11. Fundamentos de matplotlib

(3 horas)

· Inciso 11.1. El lienzo y los ejes: plt.figure(figsize=(10, 6)), plt.subplots()
· Inciso 11.2. Personalización: plt.title(), plt.xlabel(), plt.ylabel(), plt.legend(), plt.grid()
· Inciso 11.3. plt.plot() para gráficos de líneas. Marcadores, estilos de línea, colores
· Inciso 11.4. plt.bar() y plt.barh() para gráficos de barras
· Inciso 11.5. plt.scatter() para gráficos de dispersión
· Inciso 11.6. plt.hist() para histogramas
· Inciso 11.7. plt.pie() para gráficos circulares (con moderación)
· Inciso 11.8. Guardar gráficos: plt.savefig(‘grafico.png’, dpi=150, bbox_inches=’tight’)
· Inciso 11.9. Ejercicio práctico: crea un gráfico de barras con las notas medias por asignatura

Capítulo 12. Seaborn: visualización estadística avanzada

(4 horas)

· Inciso 12.1. ¿Por qué seaborn sobre matplotlib? Más bonito, más informativo, integrado con pandas
· Inciso 12.2. Estilos y contextos: sns.set_theme(), sns.set_palette(), sns.color_palette()
· Inciso 12.3. sns.histplot(): histogramas con curva KDE. bins, hue, multiple=’stack’
· Inciso 12.4. sns.boxplot(): diagramas de caja y bigotes para detectar outliers y comparar distribuciones. hue, orient, showmeans
· Inciso 12.5. sns.violinplot(): combina boxplot con densidad
· Inciso 12.6. sns.barplot(): barras con intervalos de confianza. estimator, ci
· Inciso 12.7. sns.countplot(): conteo de categorías. hue, order
· Inciso 12.8. sns.scatterplot(): dispersión con hue, size, style
· Inciso 12.9. Ejercicio práctico: visualiza la distribución de tarifas del Titanic por clase y supervivencia

Capítulo 13. Correlación, regresión y mapas de calor

(3 horas)

· Inciso 13.1. Matriz de correlación: df.corr(). Coeficiente de Pearson (lineal)
· Inciso 13.2. sns.heatmap(): mapa de calor de correlaciones con anotaciones y paleta de colores
«`python
sns.heatmap(df.corr(), annot=True, cmap=’coolwarm’, center=0, fmt=’.2f’)
«`
· Inciso 13.3. sns.pairplot(): matriz de gráficos de dispersión entre todas las variables numéricas. hue, diag_kind=’hist’
· Inciso 13.4. sns.regplot() y sns.lmplot(): gráficos de dispersión con línea de regresión lineal
· Inciso 13.5. Ejercicio práctico: crea un heatmap de correlación del dataset Iris y un pairplot coloreado por especie

Capítulo 14. Gráficos para datos categóricos y temporales

(2 horas)

· Inciso 14.1. sns.catplot(): figura de nivel de categoría con kind=’bar’, ‘box’, ‘violin’, ‘strip’, ‘swarm’
· Inciso 14.2. sns.lineplot() para series temporales
· Inciso 14.3. Facetas: sns.FacetGrid y sns.catplot con col y row para dividir un gráfico en subgráficos por categorías
· Inciso 14.4. Ejercicio práctico: crea gráficos de líneas para mostrar tendencias temporales

Capítulo 15. Principios de visualización efectiva

(2 horas)

· Inciso 15.1. El ratio de tinta-datos (Tufte): eliminar todo lo que no aporte información
· Inciso 15.2. Elección del gráfico correcto según el tipo de dato y la pregunta
· Inciso 15.3. Mentir con gráficos: escalas truncadas, ejes no etiquetados, 3D innecesario, gráficos circulares con muchas categorías
· Inciso 15.4. Accesibilidad: paletas para daltonismo (colorblind), contraste suficiente, etiquetas claras
· Inciso 15.5. Ejercicio práctico: toma un gráfico «mentiroso» y corrígelo

PARTE IV: ANÁLISIS EXPLORATORIO Y PROYECTO INTEGRADOR

(9 horas)

Capítulo 16. Análisis Exploratorio de Datos (EDA)

(4 horas)

· Inciso 16.1. ¿Qué es el EDA? Filosofía de John Tukey: explorar los datos antes de modelar
· Inciso 16.2. Preguntas clave del EDA: ¿qué variables tengo?, ¿qué tipo son?, ¿hay valores nulos?, ¿hay outliers?, ¿cómo se distribuyen?, ¿qué relaciones hay entre ellas?
· Inciso 16.3. Flujo de trabajo del EDA:
1. Cargar y revisar estructura (info, shape, dtypes)
2. Identificar valores nulos y decidir qué hacer con ellos
3. Estadísticas descriptivas (describe, value_counts)
4. Visualizar distribuciones univariantes (histogramas, boxplots)
5. Visualizar relaciones bivariantes (scatter, heatmap)
6. Detectar outliers (boxplot, z-score, IQR)
7. Formular hipótesis a partir de lo observado
· Inciso 16.4. Ejercicio práctico guiado: «DeepSeek, vamos a hacer juntos un EDA completo del dataset de propinas (tips). Guíame paso a paso, preguntándome qué observo en cada gráfico»

Capítulo 17. Introducción a numpy para cálculo numérico

(1 hora)

· Inciso 17.1. Arrays de numpy: np.array([1, 2, 3, 4, 5]). Más rápidos que las listas para operaciones matemáticas
· Inciso 17.2. Operaciones vectorizadas: np.mean(), np.median(), np.std(), np.percentile()
· Inciso 17.3. np.random para generar datos sintéticos para pruebas
· Inciso 17.4. Reshape y slicing en arrays

Capítulo 18. Proyecto Final: Informe de Análisis Exploratorio

(3 horas)

· Inciso 18.1. Elige uno de estos datasets para tu análisis final:
· Titanic: analiza los factores que más influyeron en la supervivencia
· Penguins (palmer penguins): analiza las diferencias entre especies de pingüinos
· Diamonds: analiza qué factores determinan el precio de un diamante
· Un dataset de tu elección: debe tener al menos 5 columnas y una variable que quieras entender
· Inciso 18.2. Estructura de tu informe:
1. Introducción: ¿qué dataset elegiste y qué pregunta quieres responder?
2. Limpieza de datos: ¿había valores nulos? ¿Cómo los trataste? ¿Creaste columnas nuevas?
3. Análisis univariante: distribuciones de las variables principales, con gráficos
4. Análisis bivariante: relaciones entre variables, correlaciones, con gráficos
5. Conclusiones: ¿qué descubriste? ¿Qué recomendarías a partir de los datos?
· Inciso 18.3. Requisitos técnicos: usar pandas para manipulación, matplotlib o seaborn para al menos 5 gráficos diferentes, y comentar el código
· Inciso 18.4. «DeepSeek, te paso mi análisis. Revísame las conclusiones y dime si hay algo que no he considerado o si alguna correlación podría ser espuria»

Capítulo 19. Presentación, cierre y diploma

(1 hora)

· Inciso 19.1. Presenta tu informe al grupo o al facilitador en 5 minutos: ¿qué pregunta respondiste, qué descubriste, cómo lo visualizaste?
· Inciso 19.2. Recapitulación: ¿qué puedes hacer ahora con Python que antes te parecía imposible?
· Cargar y explorar cualquier dataset tabular
· Limpiar datos sucios con valores nulos y duplicados
· Transformar, filtrar y agrupar datos para responder preguntas
· Crear visualizaciones profesionales con matplotlib y seaborn
· Realizar un análisis exploratorio completo
· Inciso 19.3. Próximos pasos: machine learning con scikit-learn, dashboards interactivos con Streamlit o Power BI, big data con Spark
· Inciso 19.4. Diploma de aprovechamiento y cierre

RESUMEN EJECUTIVO DEL CURSO

Dimensión Resumen
Rol de la IA Tutora de pandas y visualización, revisora de gráficos, generadora de datasets de práctica y guía de análisis exploratorio
Rol del estudiante Analista de datos en formación: carga, limpia, transforma, analiza y visualiza datos para extraer conocimiento
Rol del facilitador Apoyo técnico, verificador de la comprensión estadística, revisor de la honestidad visual de los gráficos
Meta última Dominar el stack de análisis de datos con Python (pandas, matplotlib, seaborn) para transformar datos en bruto en información útil y visualizaciones honestas
Horas 45
Estructura 4 Partes, 19 Capítulos

¿Deseas que continuemos con otro curso de la lista, o prefieres explorar un ámbito diferente del ecosistema?

Scroll al inicio