Python

Almacenar variables en Jupyter

Durante una sesión de trabajo en un Notebook de Jupyter los diferentes resultados que se obtengan se pueden almacenar las variables y recuperarlos posteriormente. Aunque, una vez se cierre el Notebook o se reinicie el núcleo (kernel) de IPython, los valores se pierden ya que solamente están almacenados en memoria. Cuando se necesita persistencia de datos se pueden almacenar estos en archivos externos. Para lo que se puede usar archivos CSV, Microsoft Excel, JSON o de texto plano. Aunque si se desea guardar los valores entre sesiones la mejor opción es almacenar variables en Jupyter con el comando mágico de IPython %store.

El comando mágico %store de IPython

En IPython el comando mágico %store permite almacenar y recuperar cualquier variable que exista en una sesión en una base de datos. La cual se almacena en la carpeta ~/.ipython/profile_default/db/autorestore/. Esto es, es una base de datos de IPython y, por lo tanto, los valores aquí almacenados se pueden recuperar en cualquier sesión de IPython, incluidas las que se inician en un Notebook.

Para almacenar una variable solamente se debe escribir un comando como el siguiente en una celda:

%store variable

Reemplazando variable por el nombre de la variable que se desea guardar en la base de datos. El día que se necesite recuperar los valores de la variable solamente se debe escribir en una celda el siguiente comando:

%store -r variable

Lo que recuperará el valor original, sea este un número, una lista, un diccionario, un DataFrame o cualquier otro objeto.

Otros usos del comando mágico %store

Además de las funciones básicas de %store guardar y recuperar variables también dispone de otras funciones para gestionar los datos almacenados. Algunas de las funciones que se pueden realizar con este comando son:

  • Guardar múltiples variables en la base de datos de IPython: %store var1 var2
  • Actualización de los valores de una o varias variables: %store -r var1
  • Listado de todas las variables almacenadas en la base de datos junto a sus valres: %store
  • Borrado de una o varias variables de la base de datos: %store -d var1
  • Borrado de todas las variables de la base de datos: %store -z
  • Guardado de las variables en un archivo %store var1 > var1.txt

En todos los casos se debe reemplazar los valores var1 y var2 por el nombre de las variables que se deseen guardar.

Conclusiones

El comando mágico %store de IPython permite almacenar las variables en Jupyter de una forma fácil y eficiente. Evitando la necesidad de gestionar archivos. Por lo que es una solución óptima para guardar valores temporales (por ejemplo, los resultados de un Notebook que se necesita cerrar) o valores que se deben guardar entre diferentes sesiones (por ejemplo, constantes o parámetros de configuración de acceso a recursos externos como bases de datos o APIs). Aunque es importante notar que los datos no se almacenan de forma segura, cualquiera con acceso al disco los podría leer, por lo que no es sitio adecuado para almacenar credenciales.

Imagen de Miguel Á. Padriñán en Pixabay

¿Te ha parecido de utilidad el contenido?

Daniel Rodríguez

Share
Published by
Daniel Rodríguez

Recent Posts

Por qué migrar tus proyectos TypeScript a ES Modules en 2026

Durante años, CommonJS (require/module.exports) ha sido la forma por defecto de organizar módulos en Node.js,…

11 horas ago

Método del codo: interpretación correcta y limitaciones

Cuando usas k-means tienes que decidir algo incómodo de entrada: cuántos grupos, , vas a…

2 días ago

Errores comunes al interpretar resultados estadísticos

La estadística no suele fallar en los cálculos: falla en la interpretación. El test está…

1 semana ago

Dashboard CLV: cuatro modelos, un mismo dataset, conclusiones muy distintas

Los artículos anteriores de esta serie cubrieron cuatro formas de mirar el valor del cliente:…

1 semana ago

Curiosidad: Por qué la criptografía habla siempre de Alice y Bob

Quien se acerca a la criptografía descubre enseguida a dos personajes que aparecen en casi…

2 semanas ago

Desbalanceo de Clases en Credit Scoring: Por Qué Usamos Ponderación en lugar de Undersampling

En credit scoring el desbalanceo de clases es la norma, no la excepción. En una…

2 semanas ago

This website uses cookies.