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

PSI: Cómo Saber Cuándo tu Modelo de Credit Scoring se ha Degradado

Un modelo de credit scoring no es un artefacto estático. Se construye en un momento…

9 horas ago

Los indicadores que se autocumplen, o cuando medir es modificar – El bestiario de los indicadores económicos absurdos (parte 7)

En las seis entregas anteriores hemos paseado por casi todos los géneros del disparate económico:…

5 días ago

Customer Lifetime Value: la fórmula clásica que todo analista debería dominar

El Customer Lifetime Value (CLV) es, probablemente, la métrica más importante que puede calcular una…

1 semana ago

Analytics Lane lanza la versión 1.4 del laboratorio con nuevas herramientas de conversión y modelos avanzados de CLV

Seguimos ampliando el laboratorio de Analytics Lane con el lanzamiento de la versión 1.4, que…

2 semanas ago

Lanzamos el video de ScoreFlow: crea scorecards de crédito de forma ágil y sin IT

En Analytics Lane seguimos apostando por desarrollar herramientas que simplifiquen el trabajo de analistas y…

2 semanas ago

This website uses cookies.