El Ecosistema de Librerias para Data Science
Mapa del Ecosistema Python para DatosPython no es poderoso por si solo, su poder viene de las librerias. En esta leccion vas a conocer el ecosistema completo que usan los profesionales de data science, para que sepas que herramienta usar en cada situacion.
Las Librerias Fundamentales
Tier 1: Las Esenciales (las vas a usar TODOS los dias)
| Libreria | Uso | Import |
|---|---|---|
| NumPy | Computacion numerica, arrays | import numpy as np |
| Pandas | Manipulacion de datos tabulares | import pandas as pd |
| Matplotlib | Visualizacion (base) | import matplotlib.pyplot as plt |
| Seaborn | Visualizacion estadistica (alto nivel) | import seaborn as sns |
# El setup estandar de todo notebook de data science
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
# Configuracion estandar
plt.style.use('seaborn-v0_8')
sns.set_palette('husl')
pd.set_option('display.max_columns', 50)
pd.set_option('display.float_format', '{:.2f}'.format)
print("Entorno de data science listo.")
Tier 2: Analisis y Modelado
| Libreria | Uso | Import |
|---|---|---|
| SciPy | Estadistica avanzada, tests de hipotesis | from scipy import stats |
| Scikit-learn | Machine learning | from sklearn import ... |
| Statsmodels | Modelos estadisticos, regresion | import statsmodels.api as sm |
from scipy import stats
import numpy as np
np.random.seed(42)
grupo_a = np.random.normal(100, 15, 50)
grupo_b = np.random.normal(110, 15, 50)
t_stat, p_valor = stats.ttest_ind(grupo_a, grupo_b)
print(f"t-statistic: {t_stat:.4f}")
print(f"p-valor: {p_valor:.4f}")
print(f"Diferencia significativa? {'Si' if p_valor < 0.05 else 'No'}")
Tier 3: Visualizacion Avanzada
| Libreria | Uso | Cuando usarla |
|---|---|---|
| Plotly | Graficos interactivos | Dashboards, presentaciones web |
| Bokeh | Graficos interactivos | Aplicaciones web |
| Altair | Gramatica de graficos | Exploracion rapida |
import plotly.express as px
import pandas as pd
df = pd.DataFrame({
'Mes': ['Ene', 'Feb', 'Mar', 'Abr', 'May', 'Jun'],
'Ventas': [120, 135, 98, 145, 167, 189]
})
fig = px.bar(df, x='Mes', y='Ventas', title='Ventas Mensuales')
fig.show()
Tier 4: Datos Externos y Produccion
| Libreria | Uso |
|---|---|
| requests | Consumir APIs |
| beautifulsoup4 | Web scraping |
| sqlalchemy | Conectar a bases de datos |
| openpyxl | Leer/escribir Excel |
| streamlit | Crear dashboards web rapidos |
| fastapi | APIs de modelos ML |
Flujo de Trabajo Profesional
Asi es como se ve un proyecto de data science real:
1. OBTENER DATOS
- APIs (requests)
- Bases de datos (sqlalchemy)
- Archivos CSV/Excel (pandas)
- Web scraping (beautifulsoup4)
2. LIMPIAR Y TRANSFORMAR
- Pandas (principal)
- NumPy (operaciones numericas)
3. EXPLORAR Y VISUALIZAR
- Matplotlib + Seaborn (estaticos)
- Plotly (interactivos)
4. MODELAR Y ANALIZAR
- SciPy (tests estadisticos)
- Statsmodels (regresion)
- Scikit-learn (machine learning)
5. COMUNICAR RESULTADOS
- Jupyter Notebooks (reportes)
- Streamlit (dashboards)
Ejemplo: Pipeline completo en miniatura
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from scipy import stats
# 1. Generar datos de ejemplo
np.random.seed(42)
n = 100
datos = pd.DataFrame({
'edad': np.random.randint(22, 60, n),
'experiencia': np.random.randint(0, 30, n),
'salario': np.random.normal(65000, 20000, n).round(2)
})
# 2. Limpiar
datos['salario'] = datos['salario'].clip(lower=25000)
# 3. Explorar
print(datos.describe())
# 4. Analizar: La experiencia se correlaciona con el salario?
correlacion, p_valor = stats.pearsonr(datos['experiencia'], datos['salario'])
print(f"Correlacion experiencia-salario: {correlacion:.3f} (p={p_valor:.4f})")
# 5. Visualizar
fig, axes = plt.subplots(1, 2, figsize=(12, 5))
axes[0].hist(datos['salario'], bins=20, edgecolor='black', alpha=0.7)
axes[0].set_title('Distribucion de Salarios')
axes[0].set_xlabel('Salario ($)')
axes[1].scatter(datos['experiencia'], datos['salario'], alpha=0.5)
axes[1].set_title(f'Experiencia vs Salario (r={correlacion:.3f})')
axes[1].set_xlabel('Experiencia (anios)')
plt.tight_layout()
plt.show()
Video Recomendado
Las Librerias Esenciales de Python para Data Science
Ejercicio Practico
Crea un notebook 05_ecosistema.ipynb y:
- Importa las 4 librerias fundamentales y verifica sus versiones
- Genera un DataFrame con datos ficticios de 200 empleados
- Calcula estadisticas descriptivas con Pandas
- Hace un grafico de barras con el salario promedio por departamento
- Hace un scatter plot de edad vs salario coloreado por departamento
- Calcula la correlacion de Pearson entre edad y salario con SciPy
💡 Concepto Clave
Revisemos los puntos más importantes de esta lección antes de continuar.
Resumen
El ecosistema de data science en Python tiene capas:
- NumPy: La base matematica
- Pandas: Manipulacion de datos (el mas importante del curso)
- Matplotlib/Seaborn: Visualizacion
- SciPy/Statsmodels: Estadistica
- Scikit-learn: Machine learning
- Plotly/Streamlit: Interactividad y dashboards
A partir del proximo modulo nos vamos a enfocar en Pandas, la herramienta mas importante del dia a dia de un data scientist.
🧠 Pon a prueba tu conocimiento
¿Cuál es el aspecto más importante que aprendiste en esta lección?
- Comprendo el concepto principal y puedo explicarlo con mis palabras
- Entiendo cómo aplicarlo en mi situación específica
- Necesito repasar algunas partes antes de continuar
- Quiero ver más ejemplos prácticos del tema
✅ ¡Excelente! Continúa con la siguiente lección para profundizar más.