0% encontró este documento útil (0 votos)
5 vistas16 páginas

Curso Analisis Datos Python-2

El curso básico de Análisis de Datos con Python abarca 6 módulos temáticos con un total de aproximadamente 40 horas de contenido, dirigido a un nivel básico-intermedio. Los módulos incluyen fundamentos de Python, manipulación de datos con NumPy, análisis de datos con Pandas, visualización de datos, estadística descriptiva e inferencial, y un proyecto integrador. Se utilizan herramientas como Jupyter Notebook, VS Code, y librerías como NumPy, Pandas, Matplotlib y Seaborn para el aprendizaje práctico.

Cargado por

dulc02992
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)
5 vistas16 páginas

Curso Analisis Datos Python-2

El curso básico de Análisis de Datos con Python abarca 6 módulos temáticos con un total de aproximadamente 40 horas de contenido, dirigido a un nivel básico-intermedio. Los módulos incluyen fundamentos de Python, manipulación de datos con NumPy, análisis de datos con Pandas, visualización de datos, estadística descriptiva e inferencial, y un proyecto integrador. Se utilizan herramientas como Jupyter Notebook, VS Code, y librerías como NumPy, Pandas, Matplotlib y Seaborn para el aprendizaje práctico.

Cargado por

dulc02992
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

CURSO BÁSICO DE

Análisis de Datos
con Python

Temario completo con temas, subtemas, ejemplos de código y ejercicios


prácticos

■ 6 Módulos temáticos ■ ~40 horas de contenido

■ Python 3 + librerías estándar ■ Nivel: Básico-Intermedio

Material de formación • Análisis de Datos con Python • Nivel Básico


Curso Básico de Análisis de Datos con Python Temario Completo

ÍNDICE DE CONTENIDOS

Módulo
Fundamentos de Python para Análisis de Datos ~5 h
1

Módulo
Manipulación de Datos con NumPy ~6 h
2

Módulo
Análisis de Datos con Pandas ~9 h
3

Módulo
Visualización de Datos ~7 h
4

Módulo
Estadística Descriptiva e Inferencial ~7 h
5

Módulo
Proyecto Integrador ~6 h
6

HERRAMIENTAS Y REQUISITOS

■ Python 3.10+ Lenguaje principal del curso

■ NumPy / Pandas Manipulación y análisis de datos

■ Matplotlib / Seaborn Visualización de datos

■ Jupyter Notebook Entorno interactivo recomendado

■ VS Code / PyCharm IDE opcional

Página 2
Curso Básico de Análisis de Datos con Python Temario Completo

MÓDULO 1
■ ~5 h
Fundamentos de Python para Análisis de Datos

Este módulo establece las bases necesarias de Python antes de trabajar con librerías especializadas. Se
cubren tipos de datos, control de flujo, funciones y lectura de archivos, que son pilares fundamentales para el
resto del curso.

1.1 Entorno de trabajo y configuración

Antes de escribir código, es necesario configurar un entorno reproducible. Se recomienda usar Jupyter
Notebook o JupyterLab para análisis interactivo, y un entorno virtual para aislar dependencias.

Subtemas:
• Instalación de Python y Anaconda / pip
• Creación de entornos virtuales con venv o conda
• Instalación de librerías: pip install numpy pandas matplotlib
• Primeros pasos en Jupyter Notebook: celdas, kernels, shortcuts

### EN TERMINAL / CONSOLA (cmd, PowerShell o bash) ###


# 1. Crear entorno virtual
python -m venv env_datos
# 2. Activar el entorno
source env_datos/bin/activate # macOS / Linux
env_datos\Scripts\activate # Windows
# 3. Instalar librerias
pip install numpy pandas matplotlib seaborn jupyter
# 4. Abrir Jupyter (desde la misma terminal, con el entorno activo)
jupyter notebook
### EN JUPYTER NOTEBOOK (celda de codigo) ###
# Verificar que las librerias quedaron instaladas correctamente
import numpy, pandas, matplotlib, seaborn
print('Todo listo!')

1.2 Tipos de datos y estructuras

Python ofrece tipos de datos nativos muy usados en análisis: enteros, flotantes, strings, booleanos, listas,
tuplas, diccionarios y conjuntos. Comprender cuándo usar cada uno es clave para escribir código eficiente.

Números y booleanos: int, float, complex, bool — operaciones aritméticas y de comparación.


Cadenas de texto: str — indexado, slicing, métodos (.upper(), .split(), .strip(), f-strings).
Listas y tuplas: Colecciones ordenadas; mutables vs inmutables; comprensiones de lista.
Diccionarios y conjuntos: Mapeos clave-valor; búsqueda O(1); uso en conteo de frecuencias.

# Comprensión de lista: cuadrados de 1 a 10


cuadrados = [x**2 for x in range(1, 11)]
# Diccionario: conteo de frecuencias
palabras = ['manzana', 'pera', 'manzana', 'uva', 'pera', 'manzana']
frecuencias = {}
for p in palabras:
frecuencias[p] = [Link](p, 0) + 1
# {'manzana': 3, 'pera': 2, 'uva': 1}

Página 3
Curso Básico de Análisis de Datos con Python Temario Completo

■ Ejercicios — Tipos de datos


• Crea una lista con los nombres de 5 países y ordénalos alfabéticamente.
• Dado un texto largo, cuenta cuántas veces aparece cada vocal.
• Construye un diccionario que mapee nombre_estudiante → calificación y calcula el promedio.

1.3 Control de flujo y funciones

El control de flujo permite tomar decisiones y repetir operaciones. Las funciones encapsulan lógica reutilizable y
son el primer paso hacia código modular y limpio.

• Condicionales: if / elif / else; operadores lógicos (and, or, not).


• Bucles: for con range/enumerate/zip; while; break / continue.
• Funciones: def, parámetros por defecto, *args, **kwargs, return múltiple.
• Funciones lambda y uso de map(), filter(), sorted().

# Función: clasificar valor numérico


def clasificar_bmi(bmi: float) -> str:
if bmi < 18.5: return 'Bajo peso'
elif bmi < 25: return 'Normal'
elif bmi < 30: return 'Sobrepeso'
else: return 'Obesidad'
# Uso con map()
valores = [17.2, 22.5, 27.1, 31.8]
categorias = list(map(clasificar_bmi, valores))

■ Ejercicios — Control de flujo


• Escribe una función que reciba una lista de notas y devuelva 'Aprobado' / 'Reprobado' / 'Excelente'.
• Usa un bucle for con enumerate para imprimir cada elemento de una lista con su índice.
• Filtra con filter() los números pares de una lista usando una función lambda.

1.4 Manejo de archivos y formatos de datos

Leer y escribir archivos es una tarea cotidiana en el análisis de datos. Python nativo soporta archivos de texto y
CSV; para JSON, Excel y otros formatos se usan librerías específicas.

• Lectura/escritura de archivos .txt con open(), context manager with.


• Módulo csv: [Link] y [Link].
• Módulo json: [Link](), [Link]().
• Introducción a os y pathlib para manejo de rutas.

import csv, json


# Leer CSV como lista de diccionarios
with open('[Link]', encoding='utf-8') as f:
lector = [Link](f)
datos = [fila for fila in lector]
# Guardar como JSON
with open('[Link]', 'w', encoding='utf-8') as f:
[Link](datos, f, ensure_ascii=False, indent=2)

Página 4
Curso Básico de Análisis de Datos con Python Temario Completo

■ Ejercicios — Archivos
• Lee un archivo CSV de productos (nombre, precio, stock) y muestra los 3 más caros.
• Convierte el mismo CSV a JSON y viceversa.
• Usa pathlib para listar todos los archivos .csv en una carpeta dada.

Tip: Siempre usa el parámetro encoding='utf-8' al abrir archivos de texto para evitar errores con caracteres
especiales (tildes, ñ, etc.).

Página 5
Curso Básico de Análisis de Datos con Python Temario Completo

MÓDULO 2
■ ~6 h
Manipulación de Datos con NumPy

NumPy es la base del ecosistema científico de Python. Introduce el ndarray, una estructura de datos
N-dimensional que permite operaciones vectorizadas extremadamente rápidas sin necesidad de bucles
explícitos.

2.1 Arrays y operaciones básicas

• [Link](): creación desde listas; dtype, shape, ndim, size.


• Arrays especiales: [Link], [Link], [Link], [Link], [Link].
• Indexación: [i], [i,j], slicing [start:stop:step], fancy indexing, boolean masking.
• Operaciones element-wise: suma, resta, multiplicación, división, potencia.
• Broadcasting: reglas para operar arrays de distinto tamaño.

import numpy as np
arr = [Link]([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
# Seleccionar elementos > 5 (boolean masking)
print(arr[arr > 5]) # [6 7 8 9]
# Broadcasting: sumar vector a cada fila
offset = [Link]([10, 20, 30])
print(arr + offset)

■ Ejercicios — Arrays NumPy


• Crea un array 5×5 con valores aleatorios entre 0 y 100 ([Link]).
• Encuentra el máximo de cada columna y de cada fila usando [Link] con axis.
• Normaliza el array al rango [0, 1] usando la fórmula (x - min) / (max - min).

2.2 Álgebra lineal y funciones matemáticas

• Producto matricial: [Link](), operador @, [Link]().


• Transpuesta, inversa y determinante: .T, [Link](), [Link]().
• Funciones universales (ufuncs): [Link], [Link], [Link], [Link], [Link].
• Funciones estadísticas: mean, std, var, median, percentile, corrcoef.

# Correlación entre dos variables


x = [Link]([2, 4, 5, 7, 9, 10])
y = [Link]([4, 7, 8, 13, 16, 19])
corr = [Link](x, y)[0, 1]
print(f'Correlación: {corr:.4f}') # ~0.9995
# Resolver sistema de ecuaciones Ax = b
A = [Link]([[3, 1], [1, 2]])
b = [Link]([9, 8])
x = [Link](A, b)
print(x) # [2. 3.]

2.3 Números aleatorios y simulación

El submódulo [Link] (y el generador moderno [Link].default_rng) permite simular experimentos


estadísticos, generar datos de prueba y aplicar técnicas como bootstrapping o Monte Carlo.

Página 6
Curso Básico de Análisis de Datos con Python Temario Completo

• Distribuciones: uniform, normal, binomial, poisson, exponential.


• Semilla aleatoria: [Link]() / rng = [Link].default_rng(42).
• Aplicación: simulación de lanzamientos de moneda, ley de los grandes números.

rng = [Link].default_rng(42)
# Simular 10 000 lanzamientos de moneda
lanzamientos = [Link](0, 2, size=10_000) # 0=cara, 1=cruz
proporcion_caras = [Link]()
print(f'Proporción de caras: {proporcion_caras:.4f}') # ~0.50

■ Ejercicios — NumPy avanzado


• Genera datos sintéticos de altura (media=170, std=10) para 500 personas.
• Calcula media, mediana, desviación estándar y percentiles 25/75.
• Simula 1 000 tiradas de dos dados y grafica la distribución de la suma (histograma con matplotlib).

Página 7
Curso Básico de Análisis de Datos con Python Temario Completo

MÓDULO 3
■ ~9 h
Análisis de Datos con Pandas

Pandas es la librería más utilizada para análisis de datos tabulares. Introduce las estructuras Series y
DataFrame, con herramientas para importar, limpiar, transformar, agrupar y resumir datos.

3.1 Series y DataFrame

• [Link]: creación, index, dtype, operaciones vectorizadas.


• [Link]: creación desde dict/lista/CSV/Excel; shape, dtypes, info(), describe().
• Selección: df['col'], df[['c1','c2']], [Link][], [Link][], [Link][], [Link][].
• Filtrado booleano: df[df['edad'] > 30]; múltiples condiciones con & y |.

import pandas as pd
df = pd.read_csv('[Link]')
print([Link]) # (1000, 8)
print([Link])
print([Link]())
# Filtro: mujeres mayores de 40 con diabetes
subset = df[(df['sexo'] == 'F') &
(df['edad'] > 40) &
(df['diabetes'] == 1)]

3.2 Limpieza y transformación de datos

La limpieza de datos suele ocupar el 70-80 % del tiempo en un proyecto real. Pandas ofrece herramientas
completas para detectar y tratar valores faltantes, duplicados, tipos incorrectos y outliers.

• Valores nulos: isnull(), notnull(), fillna(), dropna(), interpolate().


• Duplicados: duplicated(), drop_duplicates().
• Tipos: astype(), pd.to_numeric(), pd.to_datetime().
• Renombrar / reorganizar: rename(), reindex(), reset_index(), set_index().
• Aplicar funciones: apply(), map(), applymap() ([Link]() en Pandas 2.x).
• Crear columnas: df['nueva'] = ...; [Link]() y [Link]() para binning.

# Rellenar nulos numéricos con la mediana de cada columna


numericas = df.select_dtypes(include='number').columns
df[numericas] = df[numericas].fillna(df[numericas].median())
# Crear variable categórica de edad
df['grupo_edad'] = [Link](
df['edad'],
bins=[0, 18, 35, 60, 120],
labels=['Menor', 'Joven', 'Adulto', 'Mayor']
)

■ Ejercicios — Limpieza de datos


• Carga un dataset real (ej. [Link]) e identifica columnas con >30 % de nulos.
• Imputa la columna 'edad' con la mediana por grupo (sexo).
• Convierte la columna 'fecha_ingreso' de string a datetime y extrae el mes.

3.3 Agrupación y agregación

• groupby(): split-apply-combine; agg(), transform(), filter().

Página 8
Curso Básico de Análisis de Datos con Python Temario Completo

• Funciones de agregación: sum, mean, count, min, max, nunique, std.


• pivot_table() y crosstab(): tablas de contingencia y resumen.
• Resample para series temporales: resample('M').mean().

# Ventas promedio y total por región y categoría


resumen = ([Link](['region', 'categoria'])['ventas']
.agg(promedio='mean', total='sum', n='count')
.reset_index()
.sort_values('total', ascending=False))
print([Link](10))

3.4 Combinación de DataFrames

• [Link](): apilar DataFrames horizontal o verticalmente.


• [Link](): inner, left, right, outer join — análogo a SQL JOIN.
• [Link](): unión por índice.
• Detección de claves duplicadas post-merge (indicador merge='_merge').

# Enriquecer tabla de ventas con información de clientes


ventas = pd.read_csv('[Link]') # id_cliente, producto, monto
clientes = pd.read_csv('[Link]') # id_cliente, nombre, ciudad
df_full = [Link](ventas, clientes,
on='id_cliente',
how='left',
indicator=True)
# Verificar registros sin match
print(df_full['_merge'].value_counts())

■ Ejercicios — Pandas avanzado


• Con un dataset de ventas, calcula el top-5 de productos por ingreso total.
• Crea una pivot_table que muestre las ventas mensuales por categoría.
• Une dos datasets por una clave común y detecta registros huérfanos.

Página 9
Curso Básico de Análisis de Datos con Python Temario Completo

MÓDULO 4
■ ~7 h
Visualización de Datos

Una visualización efectiva transforma números en insights comprensibles. Se cubren Matplotlib (control total y
personalización) y Seaborn (gráficos estadísticos de alto nivel), con principios de diseño visual.

4.1 Matplotlib — bases y personalización

• Anatomía de una figura: Figure, Axes, Axis, Tick, Label, Title, Legend.
• API orientada a objetos vs pyplot: fig, ax = [Link]().
• Gráficos básicos: line, bar, scatter, pie, histogram, boxplot.
• Personalización: colores, estilos de línea, marcadores, anotaciones, grids.
• Subplots: [Link](m, n), gridspec, axes compartidos.
• Guardar figuras: [Link]('[Link]', dpi=150, bbox_inches='tight').

import [Link] as plt


fig, axes = [Link](1, 2, figsize=(12, 4))
# Izquierda: histograma de edades
axes[0].hist(df['edad'], bins=20, color='steelblue', edgecolor='white')
axes[0].set_title('Distribución de Edad')
axes[0].set_xlabel('Edad'); axes[0].set_ylabel('Frecuencia')
# Derecha: ventas por mes
axes[1].bar(meses, ventas, color='coral')
axes[1].set_title('Ventas Mensuales')
plt.tight_layout()
[Link]('reporte_visual.png', dpi=150)

4.2 Seaborn — visualización estadística

Seaborn construye sobre Matplotlib y está diseñado para trabajar directamente con DataFrames de Pandas.
Produce gráficos estadísticos complejos con pocas líneas de código.

• Distribuciones: histplot, kdeplot, ecdfplot, rugplot.


• Categóricos: boxplot, violinplot, stripplot, swarmplot, barplot, countplot.
• Relaciones: scatterplot, lineplot, regplot, lmplot.
• Matrices: heatmap (correlación), clustermap, pairplot.
• Facets: FacetGrid para gráficos condicionales por variable.
• Temas: sns.set_theme(), sns.set_palette().

import seaborn as sns


sns.set_theme(style='whitegrid', palette='muted')
# Heatmap de correlaciones
fig, ax = [Link](figsize=(8, 6))
corr = df.select_dtypes('number').corr()
[Link](corr, annot=True, fmt='.2f', cmap='coolwarm',
vmin=-1, vmax=1, ax=ax)
ax.set_title('Matriz de Correlación')
plt.tight_layout()

Página 10
Curso Básico de Análisis de Datos con Python Temario Completo

■ Ejercicios — Visualización
• Con el dataset Titanic, crea un gráfico de barras de supervivencia por clase y sexo.
• Genera un pairplot de las variables numéricas de un dataset coloreado por clase.
• Diseña un dashboard de 4 subplots (histograma, boxplot, scatter y heatmap) para un dataset propio.

Tip: Usa sns.set_theme() al inicio de tu notebook para aplicar un estilo consistente a todas las gráficas. El
estilo 'whitegrid' es ideal para presentaciones.

Página 11
Curso Básico de Análisis de Datos con Python Temario Completo

MÓDULO 5
■ ~7 h
Estadística Descriptiva e Inferencial

La estadística provee el fundamento teórico para interpretar datos. Se estudian medidas de tendencia central y
dispersión, distribuciones de probabilidad, pruebas de hipótesis y regresión lineal con [Link] y
statsmodels.

5.1 Estadística descriptiva

• Tendencia central: media aritmética, mediana, moda; cuándo usar cada una.
• Dispersión: varianza, desviación estándar, rango intercuartílico (IQR), CV.
• Forma: asimetría (skewness) y curtosis; interpretación.
• Percentiles y cuantiles: [Link], [Link]().
• Detección de outliers: regla del IQR, z-score, método Tukey.

from scipy import stats


x = df['presion_arterial'].dropna()
print(f'Media: {[Link]():.2f}')
print(f'Mediana: {[Link]():.2f}')
print(f'Std: {[Link]():.2f}')
print(f'Skewness: {[Link](x):.4f}')
print(f'Kurtosis: {[Link](x):.4f}')
# Outliers por IQR
Q1, Q3 = [Link]([0.25, 0.75])
IQR = Q3 - Q1
outliers = x[(x < Q1 - 1.5*IQR) | (x > Q3 + 1.5*IQR)]
print(f'Outliers detectados: {len(outliers)}')

5.2 Distribuciones de probabilidad

• Distribución normal: curva de campana, regla 68-95-99.7, estandarización (Z-score).


• Distribuciones discretas: binomial ([Link]), Poisson.
• Prueba de normalidad: Shapiro-Wilk ([Link]), Q-Q plot.
• Teorema Central del Límite: demostración empírica con simulación.

from [Link] import shapiro, norm


import [Link] as plt
# Prueba de normalidad
stat, p = shapiro(x)
print(f'Shapiro-Wilk: stat={stat:.4f}, p={p:.4f}')
if p > 0.05:
print('No se rechaza normalidad (alpha=0.05)')
# Q-Q plot
fig, ax = [Link](figsize=(5,4))
from [Link] import probplot
probplot(x, dist='norm', plot=ax)
ax.set_title('Q-Q Plot de Presión Arterial')

5.3 Pruebas de hipótesis

Las pruebas de hipótesis permiten tomar decisiones basadas en evidencia estadística. Se trabaja siempre con
H0 (hipótesis nula) y Ha (hipótesis alternativa), nivel de significancia (α) y valor p.

• t-test de una muestra: comparar media con valor de referencia.

Página 12
Curso Básico de Análisis de Datos con Python Temario Completo

• t-test de dos muestras independientes: Levene para homogeneidad de varianzas.


• t-test pareado: mediciones antes/después en los mismos sujetos.
• ANOVA de una vía: comparar más de dos grupos; post-hoc Tukey.
• Chi-cuadrado: tablas de contingencia, test de independencia.
• Mann-Whitney U: alternativa no paramétrica al t-test.

from [Link] import ttest_ind, chi2_contingency, f_oneway


# ¿Difiere el IMC entre hombres y mujeres?
hombres = df[df['sexo']=='M']['imc'].dropna()
mujeres = df[df['sexo']=='F']['imc'].dropna()
t, p = ttest_ind(hombres, mujeres, equal_var=False) # Welch
print(f't={t:.3f}, p={p:.4f}')
# Chi-cuadrado: ¿diabetes independiente del sexo?
tabla = [Link](df['sexo'], df['diabetes'])
chi2, p, dof, expected = chi2_contingency(tabla)
print(f'Chi2={chi2:.3f}, p={p:.4f}, gl={dof}')

■ Ejercicios — Estadística
• Prueba si la altura media de una muestra difiere de 170 cm (t-test de una muestra).
• Compara la puntuación en un examen entre 3 grupos con ANOVA; aplica Tukey si es significativo.
• Analiza si existe asociación entre tabaquismo y enfermedad cardíaca con chi-cuadrado.

5.4 Regresión lineal

• Correlación de Pearson y Spearman: magnitud, dirección, p-value.


• Regresión simple: [Link](); interpretación de β0, β1, R².
• Regresión múltiple con statsmodels: OLS, tabla de resultados, diagnóstico de residuos.
• Supuestos: linealidad, homocedasticidad, normalidad de residuos, independencia.
• Predicción e intervalo de confianza.

import [Link] as sm
# Variables
X = df[['edad', 'imc', 'actividad_fisica']]
y = df['glucosa']
# Agregar intercepto
X_const = sm.add_constant(X)
# Ajustar modelo OLS
modelo = [Link](y, X_const).fit()
print([Link]())
# Predicción para nuevos datos
nuevos = [Link]({'const':1, 'edad':45, 'imc':27.5,
'actividad_fisica':3}, index=[0])
pred = [Link](nuevos)
print(f'Glucosa estimada: {pred[0]:.1f} mg/dL')

Página 13
Curso Básico de Análisis de Datos con Python Temario Completo

MÓDULO 6
■ ~6 h
Proyecto Integrador

El proyecto integrador consolida todos los conocimientos del curso en un flujo completo de análisis de datos:
desde la obtención de datos crudos hasta la comunicación de resultados con un reporte o dashboard.

6.1 Flujo completo de análisis

1. Definición del ¿Qué pregunta queremos responder? ¿Cuáles son las métricas clave?
problema

2. Obtención de datos Carga desde CSV, API REST (requests + json) o base de datos (sqlite3).

3. Exploración inicial shape, dtypes, describe(), nulos, distribuciones, correlaciones.


(EDA)

4. Limpieza Imputación, eliminación de duplicados, conversión de tipos, outliers.

5. Transformación Feature engineering: nuevas variables, normalización, codificación.

6. Análisis / Modelado Estadísticas descriptivas, pruebas de hipótesis, regresión.

7. Visualización Gráficos explicativos para comunicar hallazgos.

8. Conclusiones Reporte escrito o notebook ejecutable con resultados y limitaciones.

6.2 Proyectos sugeridos

Proyecto 1: Análisis de ventas retail


Dataset: ventas mensuales por producto, región y canal. Objetivo: identificar productos y regiones con mayor
crecimiento, detectar estacionalidad y predecir ventas del siguiente trimestre.

Proyecto 2: Análisis epidemiológico


Dataset: registros de pacientes (edad, sexo, diagnóstico, laboratorios). Objetivo: describir la población,
identificar factores de riesgo para una condición crónica y aplicar regresión logística básica.

Proyecto 3: Dataset público (Kaggle)


Elegir un dataset de Kaggle (Titanic, Housing Prices, FIFA Players, etc.) y desarrollar un análisis completo con
EDA, visualizaciones y al menos una prueba estadística relevante.

6.3 Entregables y criterios de evaluación

Jupyter Notebook
El notebook debe correr de inicio a fin sin errores. 30 %
ejecutable

Calidad del análisis EDA completo, manejo de nulos, gráficos informativos. 30 %

Al menos una prueba de hipótesis relevante y bien


Aplicación estadística 20 %
interpretada.

Comunicación de Conclusiones claras, visualizaciones limpias, comentarios


20 %
resultados en código.

Página 14
Curso Básico de Análisis de Datos con Python Temario Completo

Tip: Se recomienda usar Google Colab para el proyecto si no tienes Python instalado localmente: es gratuito
y permite compartir el notebook con un simple enlace.

Página 15
Curso Básico de Análisis de Datos con Python Temario Completo

RECURSOS Y REFERENCIAS RECOMENDADAS

■ Libros
• Python for Data Analysis (3rd ed.) — Wes McKinney (creador de Pandas)
• Python Data Science Handbook — Jake VanderPlas (disponible gratis en línea)
• Hands-On Machine Learning with Scikit-Learn, Keras & TensorFlow — Aurélien Géron

■ Documentación oficial
• NumPy: [Link]
• Pandas: [Link]
• Matplotlib: [Link]
• Seaborn: [Link]
• SciPy: [Link]

■ Cursos en línea gratuitos


• Kaggle Learn (Python, Pandas, Visualization, Intro to ML)
• DataCamp — primeros capítulos gratuitos
• Google's Machine Learning Crash Course
• CS50P — Introduction to Programming with Python (Harvard, edX)

■ Datasets para práctica


• Kaggle Datasets: [Link]
• UCI Machine Learning Repository: [Link]
• Google Dataset Search: [Link]
• Datos Abiertos de México: [Link]

PRÓXIMOS PASOS SUGERIDOS

Machine Learning con Regresión logística, árboles de decisión, clustering K-means,


scikit-learn pipelines de ML.

Consultas complejas, JOINs, subconsultas, window functions con


SQL para Análisis de Datos
PostgreSQL o SQLite.

Plotly / Dash para dashboards interactivos; Folium para mapas


Visualización avanzada
geoespaciales.

Lectura automática de reportes, envío de alertas por correo,


Automatización y scripting
scheduling con cron.

Página 16

También podría gustarte