Python

Recuperar el resultado de una celda en Jupyter

Al trabajar en un Notebook de Jupiter es posible que después de ejecutar un comando que requiere bastante tiempo nos demos cuenta de que no se ha asignado el resultado a una variable. Podríamos pensar que la única solución sería modificar el código y volver a ejecutarlo. Pero existe una solución mejor, se puede recuperar los resultados de cualquier celda en Jupyter con un simple truco.

Obtener el resultado de una celda en Jupyter

Supongamos que se ha ejecutado el siguiente código en un notebook.

Celda de Jupyter en la que no se han guardado los resultados de la operación

En la celda se han definido dos variables y sumado el valor, pero no se ha asignado el resultado a una nueva variable. Para solucionar el problema en este ejemplo lo más sencillo es asignar la operación a una variable y volver a ejecutar la celda. Pero no es así si lo que se ejecuta en la celda es el entrenamiento de un modelo que requiere varios minutos para finalizar. Tener que volver a ejecutar la celda para acceder al resultado es una pérdida de tiempo.

Para evitar tener que volver a ejecutar el código nos podemos fijar en que todas las celdas comienzan por In[] y los resultados por Out[]. Lo que hace referencia a dos variables de IPython en las que se guardan respectivamente las entradas y salidas de todas las celdas ejecutadas. Así para recuperar el resultado de una celda en Jupyter solamente se debe escribir en la siguiente celda Out[1].

Se puede obtener y asignar el resultado de una celda de Jupyter a una variable

En un caso genérico solamente se debe reemplazar 1 por el valor de la celda que se desea recuperar.

Recuperar el código de una celda

Otra utilidad de este conjunto de variables de IPython es la posibilidad de recuperar el código de una celda. Incluso aquellas que se han borrado del Notebook. De forma análoga a como se ha realizado anteriormente se puede acceder al contenido de In para obtener el código que se ha ejecutado anteriormente.

Se puede obtener el código de una celda de Jupyter a partir de la variable In

Las variables In y Out de IPython

En base a lo visto es importante no definir elementos con los nombres In o Out cuando se está trabajando con IPython, tanto en un Notebook como en la terminal. Aunque se puede seguir trabajando después de definir los elementos, se pierde una importante herramienta para revisar todo el trabajo.

Conclusiones

Las variables In y Out son dos propiedades de IPython que nos pueden ahorrar mucho tiempo cuando se trabaja en un Notebook. Permitiendo recuperar tanto el código como el resultado de una celda en Jupyter, incluso de aquellas que se han borrado. Con lo que es posible evitar la necesidad de ejecutar varias veces el mismo código o incluso recuperar códigos o resultados eliminados.

Imagen de Dave Francis en Pixabay

¿Te ha parecido de utilidad el contenido?

Daniel Rodríguez

Share
Published by
Daniel Rodríguez

Recent Posts

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:…

4 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…

6 días 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…

1 semana 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

Data Leakage en Credit Scoring: El Error que Invalida tu Modelo

Imagina que construyes un scorecard con un Gini de 0,85. Un resultado extraordinario, muy por…

2 semanas ago

This website uses cookies.