QuieroProgramar por Rodri Gonzalez
Python · Lección 21 de 27

Módulos externos (pip)

La biblioteca estándar cubre lo básico, pero el verdadero poder de Python viene de su ecosistema: más de 400,000 paquetes en PyPI que instalás con pip. Esta lección cubre pip, entornos virtuales y los paquetes que necesitás como Data Analyst.

70–90 min Prerrequisitos: 20 Módulos stdlib
01

Concepto teórico

¿Qué es pip?

pip (Package Installer for Python) es la herramienta oficial para instalar paquetes de PyPI (Python Package Index), el repositorio central con más de 400,000 paquetes. Viene incluido con Python 3.4+ — no necesitás instalarlo por separado.

Comando Qué hace Ejemplo
pip install paquete Instala un paquete pip install pandas
pip install paquete==version Instala versión específica pip install pandas==2.1.0
pip install -U paquete Actualiza a la última pip install -U pandas
pip uninstall paquete Desinstala pip uninstall pandas
pip list Lista paquetes instalados
pip freeze Lista con versiones exactas Para requirements.txt
pip install -r req.txt Instala desde archivo pip install -r requirements.txt

Entornos virtuales (venv) — aislar proyectos

Cada proyecto puede necesitar versiones diferentes de los mismos paquetes. Un entorno virtual es una copia aislada de Python con sus propios paquetes, independiente del sistema. Es como tener una "burbuja" por proyecto.

# Crear entorno virtual
python -m venv .venv

# Activar (Windows)
.venv\Scripts\activate

# Activar (Mac/Linux)
source .venv/bin/activate

# Instalar paquetes dentro del entorno
pip install pandas numpy matplotlib

# Guardar dependencias
pip freeze > requirements.txt

# Otro desarrollador replica tu entorno:
pip install -r requirements.txt
Regla profesional: SIEMPRE usá entornos virtuales para proyectos. Nunca instales paquetes globalmente. Si dos proyectos necesitan versiones distintas de pandas, los entornos virtuales te salvan. En VS Code, la extensión de Python detecta el venv automáticamente.

requirements.txt — reproducibilidad

Un archivo requirements.txt lista todos los paquetes que tu proyecto necesita con sus versiones exactas. Es el contrato que garantiza que cualquiera pueda reproducir tu entorno:

pandas==2.1.4
numpy==1.26.2
matplotlib==3.8.2
scikit-learn==1.3.2
openpyxl==3.1.2
requests==2.31.0
¿Por qué versiones exactas? Porque una actualización menor de pandas puede romper tu código. Si tu script funciona con pandas 2.1.4, fijá esa versión. Cuando tengas tiempo de testear con la nueva versión, actualizá deliberadamente.

Los paquetes que todo Data Analyst necesita

Paquete ¿Para qué? Instalar
pandas DataFrames, limpieza, análisis tabular pip install pandas
numpy Arrays numéricos, operaciones vectorizadas pip install numpy
matplotlib Gráficos y visualizaciones pip install matplotlib
seaborn Visualizaciones estadísticas (sobre matplotlib) pip install seaborn
scikit-learn Machine Learning pip install scikit-learn
openpyxl Leer/escribir archivos Excel (.xlsx) pip install openpyxl
requests Consumir APIs HTTP pip install requests
sqlalchemy Conexión a bases de datos SQL pip install sqlalchemy
jupyter Notebooks interactivos pip install jupyter
En el trabajo: cuando empezás en un equipo, lo primero que hacés es: git clone proyecto, python -m venv .venv, pip install -r requirements.txt. En 3 comandos tenés exactamente el mismo entorno que tus compañeros. Sin venv ni requirements, cada persona tiene versiones distintas y los bugs son imposibles de reproducir.

Cómo leer documentación de un paquete nuevo

Cuando encontrás un paquete nuevo, seguí esta secuencia:

  1. README / Getting Started: ejemplo mínimo de uso
  2. API Reference: lista de funciones con parámetros
  3. Examples / Tutorials: casos de uso reales
  4. Changelog: qué cambió en cada versión
Tip: en el intérprete de Python, help(pandas.read_csv) muestra la documentación completa de cualquier función. dir(objeto) lista todos los métodos disponibles. Son tus herramientas de exploración rápida.
02

Ejemplos explicados paso a paso

Ejemplo 1: pandas — primer contacto

Pandas está disponible en Pyodide (este editor). Podés probarlo directamente.

ejemplo_01_pandas.pyPython

        
Hacé clic en ▶ Ejecutar

Ejemplo 2: numpy — operaciones vectorizadas

ejemplo_02_numpy.pyPython

        
Hacé clic en ▶ Ejecutar

Ejemplo 3: pandas + numpy combinados

ejemplo_03_pd_np.pyPython

        
Hacé clic en ▶ Ejecutar

Ejemplo 4: json + requests simulado (consumir API)

ejemplo_04_api.pyPython

        
Hacé clic en ▶ Ejecutar

Ejemplo 5: Explorar paquetes con help() y dir()

ejemplo_05_explorar.pyPython

        
Hacé clic en ▶ Ejecutar
03

Referencia rápida

Comando pip Acción
pip install pandas Instalar paquete
pip install pandas==2.1.4 Versión específica
pip install -U pandas Actualizar
pip uninstall pandas Desinstalar
pip list Ver instalados
pip freeze > requirements.txt Exportar dependencias
pip install -r requirements.txt Instalar desde archivo
Comando venv Acción
python -m venv .venv Crear entorno virtual
.venv\Scripts\activate (Win) Activar
source .venv/bin/activate (Mac/Linux) Activar
deactivate Desactivar
04

Ejercicios

Nivel 1 · Básico

Ejercicio 1: Crear DataFrame

Creá un DataFrame con 3 productos (nombre, precio, stock) e imprimilo. Debe incluir Notebook.

ejercicio_01.pyDebe incluir "Notebook"

          
Hacé clic en ▶ Ejecutar
Nivel 1 · Básico

Ejercicio 2: Array de numpy

Creá un array np.array([100, 200, 300, 400, 500]) y multiplicalo por 1.21 (IVA). Debe incluir 121.

ejercicio_02.pyDebe incluir "121"

          
Hacé clic en ▶ Ejecutar
Nivel 1 · Básico

Ejercicio 3: Estadísticas con numpy

Dado np.array([150000,320000,45000,890000,72000]), calculá media, mediana y desvío. Debe incluir 295400.

ejercicio_03.pyDebe incluir "295400"

          
Hacé clic en ▶ Ejecutar
Nivel 2 · Intermedio

Ejercicio 4: DataFrame con filtrado

Creá un DataFrame de 5 clientes, filtrá los que tienen score >= 700 e imprimí solo sus nombres. Debe incluir Premium.

ejercicio_04.pyDebe incluir "Premium"

          
Hacé clic en ▶ Ejecutar
Nivel 2 · Intermedio

Ejercicio 5: describe() del DataFrame

Generá un DataFrame con 50 valores aleatorios de score (400-900) usando numpy. Mostrá describe(). Debe incluir mean.

ejercicio_05.pyDebe incluir "mean"

          
Hacé clic en ▶ Ejecutar
Nivel 2 · Intermedio

Ejercicio 6: value_counts()

Creá un DataFrame con 20 transacciones de tipo aleatorio ("compra","venta","transferencia"). Mostrá value_counts(). Debe incluir compra.

ejercicio_06.pyDebe incluir "compra"

          
Hacé clic en ▶ Ejecutar
Nivel 3 · Avanzado

Ejercicio 7: groupby básico

Creá un DataFrame con clientes, ciudad y saldo. Agrupá por ciudad y mostrá el saldo promedio. Debe incluir BsAs.

ejercicio_07.pyDebe incluir "BsAs"

          
Hacé clic en ▶ Ejecutar
Nivel 3 · Avanzado

Ejercicio 8: Operaciones vectorizadas

Creá un array de 10 precios con numpy. Aplicá descuento 15% vectorizado y calculá el ahorro total. Debe incluir Ahorro.

ejercicio_08.pyDebe incluir "Ahorro"

          
Hacé clic en ▶ Ejecutar
Nivel 3 · Avanzado

Ejercicio 9: Escribir y leer requirements.txt simulado

Creá una lista de paquetes con versiones y generá un string con formato requirements.txt. Debe incluir pandas.

ejercicio_09.pyDebe incluir "pandas"

          
Hacé clic en ▶ Ejecutar
Nivel 4 · Desafío

Ejercicio 10: Pipeline con pandas + numpy

Generá un DataFrame de 100 clientes (seed 42) con score, ingreso y ciudad aleatorios. Agregá columna "categoria" (Premium/Estándar), agrupá por ciudad y mostrá estadísticas. Debe incluir PIPELINE.

ejercicio_10_desafio.pyDebe incluir "PIPELINE"

          
Hacé clic en ▶ Ejecutar
05

Resumen y conexión

En la siguiente lección (22 · Scope de variables) vas a entender cómo Python maneja la visibilidad de las variables: local, enclosing, global y built-in.

Recursos: PyPI · pandas docs · numpy docs