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

Síndrome del objeto brillante en ciencia de datos: el error simétrico a los costes hundidos

Hace poco publiqué una entrada en la que trataba de un sesgo bien documentado: aferrarse…

5 días ago

De la Regresión Logística al Scorecard: La Transformación Matemática

En un entrada previa explicamos qué son el WOE y el IV y por qué…

7 días ago

Analytics Lane lanza la versión 1.1 del laboratorio con nuevas suites de CLV y Scoring

Seguimos evolucionando el laboratorio de Analytics Lane y hoy lanzamos la versión 1.1, disponible en:…

1 semana ago

Interés compuesto: la fuerza que multiplica tu dinero (y los errores que la anulan)

“El interés compuesto es la octava maravilla del mundo. El que lo entiende lo gana…

2 semanas ago

Cómo comparar datos con barras en Matplotlib: agrupadas, apiladas y porcentuales

Tienes los datos de ventas de tres productos en dos años distintos y quieres saber…

2 semanas ago

Costes hundidos en ciencia de datos: cuándo mantener un modelo y cuándo migrar

Imagina la situación. Tu equipo lleva tres años con un modelo en producción. No es…

3 semanas ago

This website uses cookies.