Domina la Ciencia de Datos: Guía Definitiva para Usar Jupyter Notebook en VS Code (Con Entornos Conda)


Los cuadernos de Jupyter (o Jupyter Notebooks) se han convertido en el estándar de oro para la ciencia de datos y la investigación computacional. Su capacidad para combinar código ejecutable, visualizaciones, texto narrativo y ecuaciones en un solo documento los hace increíblemente poderosos para desarrollar, comunicar y compartir proyectos de datos.

Tradicionalmente, se usan a través de un navegador web. Pero, ¿y si pudiéramos potenciar esa experiencia con todas las ventajas de un editor de código moderno como Visual Studio Code? En esta guía, te mostraré cómo hacer precisamente eso: configurar y usar Jupyter Notebooks directamente en VS Code, evitando las limitaciones del navegador y aprovechando al máximo tu flujo de trabajo.

¿Qué es un Jupyter Notebook y por qué deberías usarlo?

Antes de entrar en materia, aclaremos el concepto. Un «cuaderno» o notebook es un documento interactivo que integra código y su resultado en un solo lugar. Puedes escribir y ejecutar fragmentos de código (como Python), y justo debajo ver la salida: tablas, gráficos, estadísticas, etc. Lo mejor es que también puedes añadir texto enriquecido (con formato Markdown) para explicar tu razonamiento, incluir fórmulas matemáticas o enlazar a fuentes externas.

En resumen: es un diario de trabajo vivo, transparente y reproducible.

Para cualquier persona que trabaje con datos, usar notebooks acelera el flujo de trabajo, facilita la comunicación de resultados y es una habilidad fundamental en la industria. Y lo mejor de todo, al ser parte del proyecto de código abierto Jupyter, es completamente gratuito.

Aunque Jupyter soporta múltiples lenguajes, en esta guía nos centraremos en Python, el más popular y para el cual VS Code ofrece la mejor integración.

¿Por qué usar Jupyter Notebooks en VS Code en lugar del Navegador?

Usar la extensión de Jupyter en VS Code transforma tu experiencia de desarrollo. La interfaz de cuaderno nativa de VS Code ofrece ventajas significativas:

  • Entorno de Desarrollo Unificado: Disfruta de todas las funcionalidades de un editor de código profesional mientras trabajas en tu notebook: resaltado de sintaxis avanzado, autocompletado inteligente (IntelliSense), refactorización de código, y soporte para extensiones como VIM, linters o formateadores de código.
  • Herramientas de Productividad: Aplica funciones de edición avanzada directamente en tus celdas, como búsqueda y reemplazo global, plegado de código o edición en múltiples líneas (multi-cursor).
  • Navegación y Gestión de Archivos: VS Code te da una visión de proyecto completa. Puedes navegar fácilmente entre tu notebook y otros archivos del proyecto (.py, .csv, .json), usar el control de versiones (Git) integrado, y tener una vista de esquema con la tabla de contenidos de tu notebook.
  • Velocidad y Eficiencia: Los archivos .ipynb se cargan casi instantáneamente. Además, VS Code incluye un visor de diferencias (diff) para notebooks, lo que facilita enormemente la revisión de cambios en el código y los resultados.
  • Depuración Avanzada: Una de las características estrella es «Ejecutar por Línea», que te permite depurar tu código paso a paso dentro del propio notebook.

Requisito Fundamental: Instalación de Anaconda (Conda)

Atención: Este es un paso crucial. Para que todo funcione de manera fluida en VS Code y evitar errores de versiones o de reconocimiento de entornos, es altamente recomendable (y para muchos usuarios, necesario) instalar Anaconda. Anaconda incluye Conda, un potente gestor de paquetes y entornos virtuales que usaremos para aislar nuestros proyectos.

¿Por qué es tan importante?

  • Aislamiento: Podrás tener un proyecto con Python 3.9 y librerías antiguas, y otro con Python 3.11 y las últimas versiones, sin que uno rompa al otro.
  • Evita errores en VS Code: Muchos problemas al seleccionar kernels o al importar librerías en VS Code se solucionan simplemente usando entornos Conda bien configurados.

Descarga e Instalación de Anaconda

  1. Descarga: Ve a la página oficial de Anaconda y descarga el instalador para tu sistema operativo (Windows, macOS, Linux).
  2. Ejecuta el Instalador: Una vez descargado, ejecuta el archivo.
  3. Acepta la Licencia: Lee y acepta los términos de la licencia.
  4. Tipo de Instalación: Selecciona «Solo para mí» (recomendado) a menos que necesites instalarlo para todos los usuarios del equipo.
  5. Ubicación de Instalación: ¡Muy importante! Elige una carpeta de destino cuya ruta no contenga espacios ni caracteres especiales (como tildes o eñes). Por ejemplo: C:\anaconda3 en Windows o /Users/tu_usuario/anaconda3 en macOS. Esto previene errores futuros.
  6. Opciones Avanzadas:
    • Marca la opción que dice «Registrar Anaconda como mi Python predeterminado» (a menos que tengas otra instalación de Python que quieras conservar como principal).
    • Deja las demás opciones por defecto.
  7. Instalación: Haz clic en «Instalar». El proceso puede tomar varios minutos. Puedes marcar la casilla «Mostrar detalles» para ver qué paquetes se están instalando.
  8. Finalización: Una vez terminado, verás una pantalla de «Gracias por instalar Anaconda». Ya puedes cerrar el instalador.

¡Felicidades! Ya tienes Conda instalado en tu sistema. Ahora podemos proceder a configurar VS Code.

Configuración Rápida de VS Code y Jupyter

Paso 1: Instalar VS Code
Si aún no lo tienes, descarga e instala Visual Studio Code desde su página oficial.

Paso 2: Instalar la Extensión de Jupyter
Abre VS Code, ve al panel de extensiones (icono de cuadrícula en la barra lateral izquierda o Ctrl+Shift+X) y busca «Jupyter». Instala la extensión desarrollada por Microsoft (ms-toolsai.jupyter). Esta extensión ya incluye por defecto mapas de teclado similares a los de Jupyter y visualizadores para gráficos (Plotly, etc.).

Paso 3: Crear o Abrir un Notebook
Puedes crear un nuevo archivo de notebook de varias formas:

  • Ve a la paleta de comandos (Ctrl+Shift+P), escribe «Crear: Nuevo cuaderno Jupyter» y selecciona la opción.
  • O simplemente crea un nuevo archivo con la extensión .ipynb.

Ya tienes un notebook funcionando en VS Code. Ahora, vamos a usar Conda para crear el «motor» (kernel) de Python que ejecutará el código de forma aislada.

Gestionando Entornos de Ejecución con Conda

Ahora que tenemos Anaconda instalada y VS Code listo, vamos a crear un entorno virtual con las librerías científicas esenciales (numpy, matplotlib, scipy) y conectarlo a nuestro notebook.

Paso 1: Abrir la Terminal Correcta
Abre la terminal integrada de VS Code (Ctrl+ñ o View > Terminal). Como ya instalamos Anaconda, el comando conda debería ser reconocido automáticamente.

Paso 2: Crear un Nuevo Entorno Conda
Ejecuta el siguiente comando para crear un entorno llamado mi_entorno con Python 3.10 (una versión muy estable):

conda create -n mi_entorno python=3.10

Confirma la creación escribiendo y cuando el sistema te lo pida.

Paso 3: Activar el Entorno
Una vez creado, actívalo con:

conda activate mi_entorno

Verás que el prompt de la terminal ahora comienza con (mi_entorno), indicando que estás dentro.

Paso 4: Instalar las Librerías Esenciales
Con el entorno activado, instala los paquetes que necesitas. El paquete ipykernel es fundamental para que Jupyter pueda reconocer tu entorno.

conda install numpy matplotlib scipy ipykernel

De nuevo, confirma con y.

Paso 5: Registrar el Entorno en Jupyter
Este paso crea un «registro» para que VS Code y Jupyter sepan que este entorno existe y pueden usarlo como kernel.

python -m ipykernel install --user --name mi_entorno --display-name "Python (mi_entorno)"

Paso 6: Seleccionar el Kernel en VS Code
Vuelve a tu notebook en VS Code. En la esquina superior derecha, haz clic en el texto que indica el kernel (probablemente dirá «Python 3…»). Se abrirá una lista. Busca y selecciona la opción que dice «Python (mi_entorno)». Si no aparece, prueba a reiniciar VS Code.

Paso 7: ¡A Codificar!
Ya puedes ejecutar celdas. Prueba con este pequeño script para verificar que todo funciona:

import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import linregress
print("¡Entorno configurado correctamente!")
print(f"NumPy versión: {np.__version__}")
# Un pequeño test gráfico
x = np.array([1, 2, 3, 4, 5])
y = np.array([2, 4, 5, 4, 5])
plt.scatter(x, y)
plt.title("Gráfico de prueba")
plt.show()

Trabajando con Python y Más Allá

Si te centras en Python, asegúrate de tener también instalada la Extensión de Python (ms-python.python) para disfrutar de la mejor experiencia de edición. La combinación de ambas extensiones es imbatible.

Característica Destacada: «Ejecutar por Línea»

Una de las herramientas más útiles para depurar es «Ejecutar por Línea». Con una celda de código seleccionada, puedes presionar F10 o hacer clic en el botón «Ejecutar por Línea» (un icono de depuración) en la barra de la celda. Esto iniciará una sesión ligera de depuración, ejecutando tu código línea por línea y actualizando el «Explorador de Variables» en tiempo real para que veas cómo cambia el valor de tus datos. Para avanzar a la siguiente línea, pulsa Ctrl+Enter. Para detener la ejecución, haz clic en el botón de parada.

Conclusión

Combinar la potencia narrativa de Jupyter Notebooks con la robustez y flexibilidad de Visual Studio Code es un cambio radical en el flujo de trabajo de ciencia de datos. Has aprendido a configurar este entorno desde cero (comenzando por la base sólida de Anaconda), a gestionar tus proyectos con entornos Conda aislados y a aprovechar funciones exclusivas como «Ejecutar por Línea». Ahora tienes las herramientas para desarrollar proyectos de datos de forma más profesional, organizada y eficiente. ¡Es hora de ponerlo en práctica!

¿Cuándo cambiar la batería de tu iPhone?


Si la batería de su iPhone parece que dura cada vez menos, y tiene unos años tu smartphone, es evidente que por numero de cargas/descargas la batería es muy probable que haya perdido parte de su capacidad original ( a pesar de la aparente calidad de esta). En esta tesitura es probable que, amigo lector, te cuestiones si deberías cambiar la batería o «aguantar» un poco mas .. Es por eso que en este post voy a intentar dar algunas pautas para intentar ayudar en esa decisión..

En efecto, si tienes un iPhone SE (o cualquier iPhone), la referencia técnica es clara: cuando la salud de la batería baja del 80%, conviene plantear el reemplazo. A partir de ese punto la degradación empieza a afectar de forma perceptible a la autonomía y al rendimiento.

Puedes comprobarlo en Ajustes → Batería → Salud y carga de la batería → Capacidad máxima.

Además del porcentaje, hay síntomas que indican desgaste avanzado: necesidad de cargar varias veces al día con uso normal, apagados inesperados aunque marque batería disponible, caídas bruscas del porcentaje o sobrecalentamiento. Si detectas hinchazón o separación de pantalla, el cambio es urgente por seguridad.

Si estás entre 80% y 85% y el teléfono aún cubre tu jornada, puedes esperar. Por debajo del 80%, lo razonable es planificar el cambio.

Precio de cambiar la batería en Apple (España)

En el servicio oficial de Apple, el coste habitual fuera de garantía se mueve aproximadamente entre 79 € y 109 € IVA incluido, según modelo.

En los modelos antiguos y el iPhone SE (1ª, 2ª y 3ª generación), suele rondar los 79 €. En gamas como iPhone 7 o iPhone 8 puede estar entre 79 € y 99 €. En modelos más recientes como iPhone 12, iPhone 13 o iPhone 14, el rango habitual es 99–109 €.

Si tienes AppleCare+ y la batería está por debajo del 80%, el reemplazo puede estar cubierto sin coste adicional.

¿Por qué parece que la batería oficial dura menos?

No hay evidencia de que una batería oficial dure menos que una buena compatible de igual capacidad. Lo que suele ocurrir es lo siguiente:

Primero, Apple instala baterías con una capacidad equivalente a la original. Sin embargo, con los años, iOS y las aplicaciones consumen más recursos. Aunque la batería sea nueva, el sistema puede demandar más energía que cuando el teléfono salió al mercado.

Segundo, algunas baterías de terceros anuncian mayor capacidad (más mAh). Si esos datos son reales, pueden ofrecer algo más de autonomía inicial. El problema es que la calidad y la veracidad de esas cifras varían mucho según fabricante.

Tercero, tras cambiar la batería o actualizar el sistema, el iPhone realiza tareas en segundo plano y recalibraciones. Durante los primeros días la autonomía puede no reflejar el comportamiento estable. Lo cierto es como se ve en la imagen de mas abajo cualquier abultamiento , olor , arrugas en el envoltorio, etc. queda claro que es necesario reemplazarla.

Oficial Apple vs alternativas

El servicio oficial ofrece batería y electrónica original, integración total con el sistema, lectura completa de salud y ciclos, y ausencia de mensajes de “pieza desconocida”. También mantiene estándares altos de seguridad y control térmico.

Las alternativas pueden ser más económicas e incluso ofrecer algo más de capacidad nominal. Sin embargo, la calidad es muy variable y pueden aparecer avisos del sistema indicando que no se puede verificar si la batería es original.

La decisión depende del valor actual del teléfono. Si tienes un modelo que aún conserva valor —por ejemplo un iPhone 11, iPhone 12 o un iPhone SE de 2ª o 3ª generación— suele compensar optar por servicio oficial por seguridad y fiabilidad. Si el dispositivo es antiguo y su valor de mercado es bajo, puede tener sentido una alternativa de calidad en un servicio técnico de confianza.

Caso concreto: batería al 73%

Con un 73% de salud estás claramente por debajo del umbral recomendado. En términos prácticos significa que has perdido alrededor de un 27% de la capacidad original. Es habitual en ese punto notar menor autonomía, necesidad de varias cargas diarias o incluso limitaciones de rendimiento bajo picos de consumo.

Desde un punto de vista técnico, es un momento adecuado para sustituirla. Según el modelo exacto, los años, pantalla, estado general, etc. se podria afinar si en tu caso compensa claramente el servicio oficial o si una alternativa tiene más sentido económico.