1 ¿Qué es JupyterLab?

1.1 Explicación sencilla

JupyterLab es un entorno de trabajo interactivo que funciona en tu navegador web. Piensa en él como un cuaderno digital donde puedes:

  • Escribir código de Python (o R, Julia, etc.)
  • Ver los resultados inmediatamente
  • Añadir explicaciones con texto formateado
  • Crear gráficos y visualizaciones
  • Organizar todo en un mismo documento

Es como tener un laboratorio virtual donde experimentas con código paso a paso, sin necesidad de crear archivos .py completos.

1.2 ¿Para qué sirve?

JupyterLab es especialmente útil para:

  • Aprender programación: Puedes probar código línea por línea
  • Análisis de datos: Explorar datos, crear gráficos, hacer cálculos
  • Investigación: Documentar tu proceso y resultados
  • Enseñanza: Combinar explicaciones con código ejecutable
  • Prototipado: Probar ideas rápidamente antes de crear programas completos

1.3 Diferencia con Jupyter Notebook

Si has oído hablar de Jupyter Notebook, aquí está la diferencia:

Aspecto Jupyter Notebook JupyterLab
Interfaz Simple, un notebook a la vez Completa, múltiples pestañas
Archivos Solo notebooks Editor de texto, terminal, notebooks
Experiencia Minimalista Similar a un IDE moderno

En resumen: JupyterLab es la versión mejorada y más completa de Jupyter Notebook. Cuando abres JupyterLab, puedes trabajar con notebooks y mucho más.


2 Cómo abrir JupyterLab

2.1 Desde Anaconda Navigator (recomendado para principiantes)

Si instalaste Python con Anaconda:

  1. Abre Anaconda Navigator
  2. Busca el icono de JupyterLab
  3. Haz clic en Launch
  4. Se abrirá tu navegador web con JupyterLab

2.2 Desde la terminal/línea de comandos

Si prefieres usar la terminal (PowerShell en Windows, Terminal en Mac/Linux):

2.2.1 Con Anaconda instalado:

jupyter lab

2.2.2 Con uv (gestión moderna de Python):

# Primero, activa tu entorno virtual
uv sync

# Luego ejecuta JupyterLab
uv run jupyter lab

2.2.3 Forma tradicional (con pip):

# Primero activa tu entorno virtual
# Windows:
.\venv\Scripts\activate
# Mac/Linux:
source venv/bin/activate

# Luego ejecuta JupyterLab
jupyter lab

2.3 ¿Qué ocurre al abrir JupyterLab?

  1. Se abre tu navegador predeterminado
  2. Verás una dirección como http://localhost:8888/lab
  3. Aparece la interfaz de JupyterLab

⚠️ IMPORTANTE: No cierres la ventana de la terminal mientras trabajas. JupyterLab necesita que ese proceso esté activo.


3 Interfaz de JupyterLab

Cuando abres JupyterLab por primera vez, verás algo así:

┌─────────────────────────────────────────────────────────┐
│  File  Edit  View  Run  Kernel  Tabs  Settings  Help   │  ← Barra de menú
├──────────┬──────────────────────────────────────────────┤
│          │                                              │
│  📁      │         Área principal de trabajo            │
│  Archivos│                                              │
│          │     (Aquí se abren notebooks, archivos,     │
│  📄 doc  │      gráficos, terminales, etc.)            │
│  📓 nb   │                                              │
│  📁 data │                                              │
│          │                                              │
└──────────┴──────────────────────────────────────────────┘
     ↑                        ↑
Panel lateral          Área de pestañas

3.1 Panel de archivos (izquierda)

  • Muestra todos los archivos y carpetas de tu directorio de trabajo
  • Puedes navegar como en el explorador de Windows o Finder
  • Haz doble clic en un archivo para abrirlo
  • Clic derecho para ver opciones (crear, renombrar, eliminar, etc.)

3.2 Pestañas (arriba)

  • Cada archivo/notebook/terminal se abre en una pestaña nueva
  • Puedes tener múltiples pestañas abiertas al mismo tiempo
  • Arrastra las pestañas para reordenarlas o dividir la pantalla

3.3 Launcher (pantalla de inicio)

Cuando no hay ninguna pestaña abierta, verás el Launcher con opciones para:

  • 📓 Notebook: Crear un nuevo notebook de Python
  • 📝 Console: Abrir una consola interactiva
  • 📄 Text File: Crear un archivo de texto
  • 💻 Terminal: Abrir una terminal dentro de JupyterLab

3.4 Notebook

Un notebook es el documento principal donde trabajarás. Tiene extensión .ipynb.

Características: - Está compuesto por celdas - Cada celda puede contener código o texto - Las celdas se ejecutan de forma independiente - Los resultados aparecen justo debajo de cada celda

3.5 Celdas

Las celdas son los bloques básicos de un notebook. Hay dos tipos principales:

3.5.1 Celdas de código

# Esto es una celda de código
print("Hola desde JupyterLab")
resultado = 2 + 2
resultado
  • Contienen código de Python (u otro lenguaje)
  • Se ejecutan presionando Shift + Enter o el botón ▶️
  • Muestran la salida debajo de la celda

3.5.2 Celdas de texto (Markdown)

# Esto es un título
Este es un párrafo normal con **negritas** y *cursivas*.

- Lista item 1
- Lista item 2
  • Contienen texto formateado
  • Usan sintaxis Markdown (muy fácil de aprender)
  • Sirven para explicar, documentar, organizar

3.5.3 Cómo cambiar el tipo de celda

  • Selecciona la celda
  • En la barra superior, verás un menú desplegable que dice “Code” o “Markdown”
  • Cámbialo según necesites

3.6 Botones esenciales de la barra de herramientas

Icono Función Atajo
💾 Guardar notebook Ctrl + S (Win) / Cmd + S (Mac)
➕ Añadir celda nueva B (abajo) / A (arriba)
✂️ Cortar celda X
📋 Copiar celda C
📄 Pegar celda V
▶️ Ejecutar celda y avanzar Shift + Enter
⏹️ Detener ejecución I, I (presiona I dos veces)
🔄 Reiniciar kernel -

4 Conceptos básicos

4.1 ¿Qué es una celda?

Una celda es un bloque de contenido dentro del notebook. Es como un párrafo o una sección que puedes:

  • Escribir
  • Editar
  • Ejecutar (si es código)
  • Mover de posición
  • Eliminar

Cada celda funciona de manera independiente, pero comparten el mismo entorno de ejecución.

4.2 ¿Cómo se ejecuta una celda?

Hay varias formas:

  1. Método principal: Selecciona la celda y presiona Shift + Enter

    • Ejecuta la celda
    • Avanza automáticamente a la siguiente
  2. Botón ▶️: Haz clic en el botón de play en la barra de herramientas

  3. Solo ejecutar sin avanzar: Presiona Ctrl + Enter

⚠️ Importante: Las celdas se ejecutan en el orden en que tú las ejecutes, no necesariamente de arriba hacia abajo. Esto puede causar confusión si ejecutas celdas en desorden.

4.3 ¿Qué es una salida de código?

Cuando ejecutas una celda de código, Python procesa las instrucciones y puede generar una salida (output):

# Celda de entrada
print("Hola mundo")
2 + 2
# Salida que verás debajo
Hola mundo
4

La salida aparece en un área gris justo debajo de la celda ejecutada.

4.4 ¿Qué es Markdown?

Markdown es un lenguaje de marcado muy sencillo para dar formato a texto. Es como Word, pero escribiendo símbolos especiales en lugar de usar botones.

4.4.1 Sintaxis básica de Markdown

# Título principal (H1)
## Título secundario (H2)
### Título terciario (H3)

**Texto en negrita**
*Texto en cursiva*
~~Texto tachado~~

- Lista no ordenada
- Otro ítem
  - Sub-ítem (con sangría)

1. Lista ordenada
2. Segundo elemento
3. Tercer elemento

[Enlace a Google](https://www.google.com)

`código en línea`

> Cita o nota importante

💡 Truco: Para que se vea el formato final, ejecuta la celda Markdown con Shift + Enter.

4.5 ¿Cómo guardar el notebook?

Tres formas:

  1. Automático: JupyterLab guarda automáticamente cada pocos minutos
  2. Manual: Presiona Ctrl + S (Win) o Cmd + S (Mac)
  3. Con el botón: Haz clic en el icono 💾 en la barra

⚠️ Buena práctica: Guarda manualmente después de cambios importantes.

4.5.1 ¿Dónde se guarda?

El archivo .ipynb se guarda en la carpeta desde donde abriste JupyterLab. Puedes verlo en el panel de archivos de la izquierda.

4.6 ¿Cómo cerrar JupyterLab de forma segura?

4.6.1 Paso 1: Guardar tu trabajo

Asegúrate de haber guardado todos los notebooks abiertos.

4.6.2 Paso 2: Cerrar notebooks

  • Cierra las pestañas de los notebooks
  • O ve a File > Close and Shutdown Notebook

4.6.3 Paso 3: Cerrar JupyterLab

  • Ve a File > Shut Down
  • O simplemente cierra la pestaña del navegador

4.6.4 Paso 4: Detener el servidor

En la ventana de terminal donde ejecutaste jupyter lab, presiona:

  • Windows/Mac/Linux: Ctrl + C
  • Confirma con y si te pregunta

⚠️ NO cierres la terminal bruscamente: Siempre usa Ctrl + C para detener el servidor correctamente.


5 Primeros ejercicios prácticos

5.1 Ejercicio 1: Tu primer “Hola JupyterLab”

5.1.1 Objetivo

Crear y ejecutar tu primera celda de código en Python.

5.1.2 Instrucciones

  1. Abre JupyterLab
  2. Crea un nuevo notebook de Python: clic en Python 3 en el Launcher
  3. En la primera celda (que ya viene creada), escribe:
print("Hola JupyterLab")
  1. Ejecuta la celda con Shift + Enter

5.1.3 Resultado esperado

Hola JupyterLab

5.1.4 Explicación

  • print() es una función que muestra texto en pantalla
  • El texto va entre comillas (simples ' o dobles ")
  • Al ejecutar, verás el resultado justo debajo

5.2 Ejercicio 2: Calculadora básica

5.2.1 Objetivo

Usar Python como calculadora para operaciones matemáticas simples.

5.2.2 Instrucciones

Crea una nueva celda (botón ➕ o presiona B) y escribe:

# Suma
5 + 3

# Resta
10 - 4

# Multiplicación
6 * 7

# División
20 / 4

# Potencia
2 ** 3

Ejecuta la celda.

5.2.3 Resultado esperado

8
6
42
5.0
8

5.2.4 Explicación

  • Python solo muestra el último resultado de la celda
  • Para ver todos los resultados, usa print():
print("Suma:", 5 + 3)
print("Resta:", 10 - 4)
print("Multiplicación:", 6 * 7)
print("División:", 20 / 4)
print("Potencia:", 2 ** 3)

5.2.5 ⚠️ Errores comunes

  • No usar comillas en texto: print(Hola) → Error. Correcto: print("Hola")
  • Dividir por cero: 10 / 0 → Error matemático
  • Olvidar los dos asteriscos para potencia: 2 ^ 3 NO funciona, usa 2 ** 3

5.3 Ejercicio 3: Tu primera celda Markdown

5.3.1 Objetivo

Aprender a crear documentación con formato usando Markdown.

5.3.2 Instrucciones

  1. Crea una nueva celda
  2. Cámbiala a Markdown usando el menú desplegable
  3. Escribe este contenido:
# Mi primer documento en JupyterLab

## ¿Qué he aprendido hasta ahora?

He aprendido a:

- Ejecutar celdas de código
- Hacer cálculos básicos
- Usar la función `print()`

### Próximos pasos

1. Aprender a crear variables
2. Trabajar con listas
3. Hacer gráficos

**Nota importante**: JupyterLab es muy útil para análisis de datos.

> "La práctica hace al maestro"
  1. Ejecuta la celda con Shift + Enter

5.3.3 Resultado esperado

Verás el texto formateado con: - Títulos de diferentes tamaños - Lista con viñetas - Lista numerada - Texto en negrita - Una cita destacada

5.3.4 Explicación

  • # crea títulos (más # = título más pequeño)
  • - crea listas con viñetas
  • 1. crea listas numeradas
  • **texto** pone en negrita
  • `código` marca código en línea
  • > crea una cita

5.4 Ejercicio 4: Mini-programa con variables

5.4.1 Objetivo

Crear un pequeño programa que sume dos números usando variables.

5.4.2 Instrucciones

Crea una celda de código y escribe:

# Definir variables
numero1 = 15
numero2 = 27

# Calcular la suma
suma = numero1 + numero2

# Mostrar el resultado
print("El primer número es:", numero1)
print("El segundo número es:", numero2)
print("La suma es:", suma)

5.4.3 Resultado esperado

El primer número es: 15
El segundo número es: 27
La suma es: 42

5.4.4 Explicación

  • Las variables son como cajas que guardan valores
  • numero1 = 15 crea una variable llamada numero1 y le asigna el valor 15
  • Puedes usar las variables en cálculos: suma = numero1 + numero2
  • Las variables pueden tener nombres descriptivos (evita usar a, b, c)

5.4.5 🎯 Desafío adicional

Modifica el programa para: 1. Calcular también la resta, multiplicación y división 2. Cambiar los números iniciales 3. Añadir más operaciones

# Solución sugerida
numero1 = 20
numero2 = 5

print("Suma:", numero1 + numero2)
print("Resta:", numero1 - numero2)
print("Multiplicación:", numero1 * numero2)
print("División:", numero1 / numero2)

5.5 Ejercicio 5: Tu primer gráfico

5.5.1 Objetivo

Crear una visualización básica usando la biblioteca matplotlib.

5.5.2 Instrucciones

5.5.2.1 Paso 1: Importar la biblioteca

En una celda nueva, escribe:

import matplotlib.pyplot as plt

Ejecuta esta celda primero.

5.5.2.2 Paso 2: Crear datos

En la siguiente celda:

# Datos para el eje X (horizontal)
meses = ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo']

# Datos para el eje Y (vertical) - ventas en miles de euros
ventas = [23, 35, 28, 42, 38]

5.5.2.3 Paso 3: Crear el gráfico

En otra celda:

# Crear el gráfico de líneas
plt.plot(meses, ventas, marker='o', color='blue', linewidth=2)

# Añadir título y etiquetas
plt.title('Ventas mensuales', fontsize=14, fontweight='bold')
plt.xlabel('Mes')
plt.ylabel('Ventas (miles de €)')

# Añadir una cuadrícula
plt.grid(True, linestyle='--', alpha=0.5)

# Mostrar el gráfico
plt.show()

5.5.3 Resultado esperado

Verás un gráfico de líneas que muestra la evolución de las ventas a lo largo de 5 meses, con: - Puntos marcados en cada mes - Línea azul conectando los puntos - Título y etiquetas en los ejes - Cuadrícula de fondo

5.5.4 Explicación del código

  • import matplotlib.pyplot as plt: Importa la biblioteca de gráficos
  • plt.plot(): Crea un gráfico de líneas
    • marker='o': Añade círculos en cada punto
    • color='blue': Color de la línea
    • linewidth=2: Grosor de la línea
  • plt.title(): Añade título al gráfico
  • plt.xlabel() y plt.ylabel(): Etiquetas de los ejes
  • plt.grid(): Añade cuadrícula
  • plt.show(): Muestra el gráfico

5.5.5 🎯 Variaciones para experimentar

5.5.5.1 Gráfico de barras

plt.bar(meses, ventas, color='green', alpha=0.7)
plt.title('Ventas mensuales (barras)')
plt.xlabel('Mes')
plt.ylabel('Ventas (miles de €)')
plt.show()

5.5.5.2 Gráfico de dispersión

plt.scatter(meses, ventas, color='red', s=100)
plt.title('Ventas mensuales (dispersión)')
plt.xlabel('Mes')
plt.ylabel('Ventas (miles de €)')
plt.show()

5.5.6 ⚠️ Errores comunes

  • No importar matplotlib: Si olvidas import matplotlib.pyplot as plt, obtendrás un error
  • Listas de diferente longitud: meses y ventas deben tener el mismo número de elementos
  • No ejecutar las celdas en orden: Ejecuta primero la importación, luego los datos, luego el gráfico

6 Buenas prácticas para principiantes

6.1 1. Organiza tu código en celdas separadas

❌ Evita esto (todo en una celda gigante):

import pandas as pd
import matplotlib.pyplot as plt
datos = pd.read_csv('archivo.csv')
datos.head()
media = datos['columna'].mean()
print(media)
plt.plot(datos['columna'])
plt.show()
# ... 50 líneas más

✅ Mejor así (cada paso en su celda):

# Celda 1: Importaciones
import pandas as pd
import matplotlib.pyplot as plt
# Celda 2: Cargar datos
datos = pd.read_csv('archivo.csv')
datos.head()
# Celda 3: Análisis exploratorio
media = datos['columna'].mean()
print("Media:", media)
# Celda 4: Visualización
plt.plot(datos['columna'])
plt.title('Evolución de la variable')
plt.show()

Ventajas: - Más fácil de leer y entender - Puedes re-ejecutar partes específicas sin volver a cargar todo - Si hay un error, sabes exactamente dónde está

6.2 2. Comenta tu código

Los comentarios explican qué hace tu código. Son líneas que empiezan con # y Python las ignora.

❌ Sin comentarios:

x = [1, 2, 3, 4, 5]
y = [i**2 for i in x]
plt.plot(x, y)
plt.show()

✅ Con comentarios:

# Crear lista de números del 1 al 5
x = [1, 2, 3, 4, 5]

# Calcular el cuadrado de cada número
y = [i**2 for i in x]

# Crear gráfico de x vs y
plt.plot(x, y)
plt.show()

Cuándo comentar: - Al inicio de cada sección explicando su propósito - En líneas de código complejas - Para recordar decisiones importantes - NO comentes lo obvio: x = 5 # asignar 5 a x es innecesario

6.3 3. Usa nombres de variables descriptivos

❌ Nombres malos:

a = 1250
b = 0.21
c = a * b
print(c)

✅ Nombres buenos:

precio_sin_iva = 1250
tipo_iva = 0.21
importe_iva = precio_sin_iva * tipo_iva
print("IVA:", importe_iva)

Reglas para nombres de variables: - Solo letras, números y guiones bajos _ - No pueden empezar con número - Distinguen mayúsculas de minúsculas: Precio ≠ precio - Usa minúsculas y guiones bajos: precio_total (estilo Python) - Evita palabras reservadas: for, if, while, etc.

6.4 4. Guarda el notebook frecuentemente

  • Atajo de teclado: Ctrl + S (Win) o Cmd + S (Mac)
  • Guarda después de cambios importantes
  • JupyterLab guarda automáticamente, pero no confíes solo en eso
  • Antes de cerrar, revisa que el icono 💾 no tenga un punto (indicaría cambios sin guardar)

6.5 5. Organiza archivos en carpetas

Estructura recomendada para un proyecto:

mi_proyecto/
│
├── notebooks/
│   ├── 01_exploracion.ipynb
│   ├── 02_limpieza.ipynb
│   └── 03_analisis.ipynb
│
├── datos/
│   ├── datos_originales.csv
│   └── datos_limpios.csv
│
├── imagenes/
│   └── graficos/
│
└── resultados/
    └── informe_final.html

Ventajas: - Encuentras archivos rápidamente - No mezclas notebooks con datos y gráficos - Facilita compartir tu trabajo

6.6 6. Reinicia el kernel cuando sea necesario

El kernel es el proceso que ejecuta tu código Python. A veces acumula variables y estados que pueden causar confusión.

Cuándo reiniciar: - Si el código se comporta de forma extraña - Antes de ejecutar todo el notebook de principio a fin - Si las variables tienen valores inesperados

Cómo reiniciar: - Kernel > Restart Kernel en el menú - O usa el botón 🔄 en la barra

Después de reiniciar, ejecuta todas las celdas de nuevo de arriba hacia abajo: - Kernel > Restart Kernel and Run All Cells

6.7 7. Ejecuta las celdas en orden

JupyterLab te permite ejecutar celdas en cualquier orden, pero esto puede causar problemas.

❌ Problema:

# Celda 1
total = subtotal + impuestos
print(total)
# Celda 2 (ejecutada después)
subtotal = 100
impuestos = 21

Si ejecutas la Celda 1 primero, obtendrás un error porque subtotal e impuestos no existen todavía.

✅ Solución: Ejecuta siempre de arriba hacia abajo, especialmente después de reiniciar el kernel.

6.8 8. Usa celdas Markdown para documentar

Las celdas Markdown son perfectas para:

  • Explicar qué hace cada sección
  • Documentar decisiones importantes
  • Crear un índice o tabla de contenidos
  • Añadir notas y advertencias

Ejemplo de estructura:

# Análisis de ventas - Enero 2024

## 1. Cargar y explorar datos

En esta sección cargamos el dataset y verificamos su estructura básica.
# Código aquí
## 2. Limpieza de datos

Detectamos y corregimos valores faltantes en las columnas críticas.
# Código aquí

6.9 9. No tengas miedo de experimentar

JupyterLab es el lugar perfecto para:

  • Probar ideas: Crea una celda, prueba algo, si no funciona, bórrala
  • Aprender de errores: Los mensajes de error son tus amigos, te dicen qué salió mal
  • Hacer variaciones: Copia una celda y modifícala para ver qué pasa

Truco: Usa Ctrl + Z para deshacer cambios en una celda.

6.10 10. Aprende los atajos de teclado

Los atajos te harán trabajar mucho más rápido:

6.10.1 Modo comando (celda seleccionada pero no editando)

Atajo Acción
Enter Entrar al modo edición
A Insertar celda arriba
B Insertar celda abajo
D, D Borrar celda (presiona D dos veces)
M Convertir a Markdown
Y Convertir a código
C Copiar celda
X Cortar celda
V Pegar celda
Z Deshacer eliminación

6.10.2 Modo edición (editando dentro de una celda)

Atajo Acción
Esc Salir al modo comando
Ctrl + / Comentar/descomentar línea
Tab Autocompletar
Shift + Tab Mostrar ayuda de función

6.10.3 Ejecución

Atajo Acción
Shift + Enter Ejecutar y avanzar
Ctrl + Enter Ejecutar sin avanzar
Alt + Enter Ejecutar e insertar celda abajo

7 Recursos adicionales

7.1 Documentación oficial

7.2 Comandos mágicos útiles

JupyterLab incluye “comandos mágicos” que empiezan con %:

# Ver todas las variables definidas
%whos

# Medir tiempo de ejecución
%timeit sum(range(1000))

# Cargar código desde un archivo
%load script.py

# Ver historial de comandos
%history

7.3 Próximos pasos

Ahora que dominas JupyterLab, puedes:

  1. Aprender más sobre Python básico (variables, funciones, loops)
  2. Explorar bibliotecas científicas: NumPy, Pandas, Matplotlib
  3. Hacer análisis de datos reales
  4. Crear visualizaciones avanzadas
  5. Compartir tus notebooks con otros

8 Resumen final

8.1 ¿Qué has aprendido?

✅ Qué es JupyterLab y para qué sirve
✅ Cómo abrir y cerrar JupyterLab correctamente
✅ Navegar por la interfaz: panel de archivos, pestañas, launcher
✅ Trabajar con celdas de código y Markdown
✅ Ejecutar código Python y ver resultados
✅ Crear tu primer gráfico con matplotlib
✅ Buenas prácticas para organizar tu trabajo

8.2 Recuerda

  • Practica regularmente: La programación se aprende haciendo
  • No temas a los errores: Son oportunidades de aprendizaje
  • Pregunta cuando tengas dudas: La comunidad Python es muy acogedora
  • Guarda tu trabajo: Ctrl + S es tu mejor amigo
  • Experimenta: JupyterLab es un espacio seguro para probar ideas

8.3 Consejos finales

  1. Empieza pequeño: No intentes hacer proyectos complejos desde el principio
  2. Lee código de otros: Aprende viendo ejemplos
  3. Documenta bien: Tu yo del futuro te lo agradecerá
  4. Sé paciente contigo mismo: Todos los programadores fueron principiantes alguna vez

¡Bienvenido al mundo de JupyterLab y Python! 🎉