¡Hola! Te doy la bienvenida a este pequeño tutorial para conocer cómo ejecutar las funciones de una Jupyter Notebook dentro de otra en Deepnote.
Por una actualización de Deepnote notarás que ahora las Notebooks están separadas de los archivos (Files).
Por esta actualización tendrás que subir la notebook al sistema de archivos de Deepnote, para poder ejecutarla dentro de otra notebook utilizando la magia %run.
Tendrás que hacer lo anterior en tu proyecto de Deepnote del curso, ya que utilizaremos una notebook llamada pandas-missing-extension.ipynb dentro de nuestra notebook principal para utilizar métodos predefinidos en ella. Por ahora, no te preocupes por el contenido de esa notebook, en la siguiente clase hablaremos de ello. 🤗
Sigue estos pasos para subir tu notebook como archivo (File) a Deepnote:
Ve a la sección de NOTEBOOKS del proyecto de Deepnote.
Da clic en los tres puntos sobre la notebook pandas-missing-extension y da clic sobre Export as .ipynb. Esto descargará la notebook a tu computadora.
Después da clic en en el signo de + en la sección FILES y sube la notebook pandas-missing-extension.ipynb que descargaste en el paso anterior en la opción Upload File.
Repite los pasos 1-3 cada vez que desees subir la notebook pandas-missing-extension.ipynb a la sección FILES. dentro de tu proyecto en Deepnote.
Para terminar, ejecuta la siguiente línea dentro de la notebook exploration-missing-values o live-exploration-missing-values para cargar las funciones de la notebbok pandas-missing-extension.ipynb y poder utilizarlas.
¡Nos vemos en la próxima clase! Conoceremos cómo funciona la notebook donde extendemos Pandas para manejar valores faltantes! 🤓✨
La línea de código "%run pandas-missing-extension.ipynb" se utiliza en el entorno de Deepnote para ejecutar un archivo de notebook de Jupyter llamado "pandas-missing-extension.ipynb".
Este comando carga y ejecuta el notebook en la sesión actual de Deepnote, lo que significa que cualquier código contenido en el notebook se ejecutará como si se hubiera copiado y pegado directamente en la sesión de Deepnote.
En particular, es probable que el notebook "pandas-missing-extension.ipynb" contenga definiciones de funciones o variables que se utilizarán posteriormente en la sesión de Deepnote. Al ejecutar el notebook, se asegura que estas definiciones estén disponibles en la sesión actual y puedan ser utilizadas en el análisis de datos o en cualquier otro trabajo que se esté realizando en Deepnote.
Descubre los comandos mágicos de Jupyter Notebook: una guía para mejorar tu productividad 🧙
In Jupyter Notebook, %run is a magic command that allows you to run external Python scripts or modules within the notebook environment. When you use %run, Jupyter Notebook executes the specified script or module as if you were running it from the command line.
Here's how %run is typically used:
%run script.py: This command runs the Python script script.py in the current notebook cell. The script can contain multiple lines of code, and any output or results generated by the script will be displayed in the notebook output area.
%run -i script.py: The -i flag allows the script to interact with the notebook's namespace. This means that any variables or functions defined in the script will be accessible in the notebook after running it.
%run -t script.py: The -t flag runs the script under the Python profiler. It provides detailed timing information about each function call and line of code, helping you analyze the script's performance.
Using %run is a convenient way to execute external Python scripts and incorporate their functionality or results into your Jupyter Notebook workflow.
Estoy trabajando en Visual Studio Code
Si también trabajas en VSCode, sigue este tutorial para importar pandas-missing-extension como un modulo para nuestro notebook principal:
Tutorial para Importar un Jupyter Notebook como Módulo en otro Notebook
Pasos Preliminares
Preparación del Entorno de Trabajo:
Asegúrate de que tienes instalado Visual Studio Code y la extensión de Jupyter para este editor.
Organización de Archivos:
Coloca el archivo notebook (pandas-missing-extension.ipynb) en la misma carpeta donde se encuentra el notebook en el que deseas importar el contenido.
Exportación del Notebook a un Script de Python
Exportar el Notebook:
Abre el archivo pandas-missing-extension.ipynb con Visual Studio Code.
Ve a la barra donde agregas bloques de código y el Kernell, selecciona ... > Exportar > Script de Python. Esto convertirá tu notebook en un script .py.
Guardado del Archivo Exportado:
Elige la carpeta donde deseas guardar el script. Si vas a importar el contenido en un notebook que se encuentra en la misma carpeta, guárdalo allí.
Dale al archivo exportado un nombre que cumpla con las convenciones de nombres de Python (sin guiones). Por ejemplo: pandas_missing_extension.py.
Importación del Módulo en el Notebook Destino
Importar el Módulo:
Vuelve al notebook en el que deseas utilizar las funciones o clases definidas en pandas-missing-extension.ipynb.
En una celda nueva, escribe el comando de importación utilizando el nombre correcto del archivo script de Python, por ejemplo:
import pandas_missing_extension
Verificación y Uso del Módulo Importado
Usar el Módulo:
Una vez importado el módulo, puedes acceder a las funciones, clases y variables definidas dentro de él.
Por ejemplo, si pandas-missing-extension.ipynb tenía una función llamada clean_data, puedes usarla así:pythonCopy codecleaned_data = pandas_missing_extension.clean_data(raw_data)
Manejo de Errores:
Si encuentras errores al intentar usar el módulo, verifica que todas las dependencias necesarias estén instaladas y que las rutas a los archivos sean correctas.
Prueba del Código:
Ejecuta las celdas para asegurarte de que la importación y el uso del módulo sean exitosos.
Consejos Finales
Mantén una estructura de carpetas limpia y bien organizada para facilitar la importación y el mantenimiento del código.
Asegúrate de documentar el proceso dentro de tus notebooks para que otros puedan seguir tus pasos.
Este tutorial te ayudará a importar eficientemente el contenido de un notebook de Jupyter en otro, utilizando Visual Studio Code, de una manera que es fácil de seguir y de replicar en el futuro.
Les dejo el código del archivo pandas-missing-extension corregido para que no anden batallando, porque vengo del futuro y da error en algunas partes
Simplemente vayan al archivo pandas-missing-extension.ipynb y cambien el código que hay allí por esto
import itertools
import pandas as pd
import upsetplot
try: del pd.DataFrame.missingexcept AttributeError: pass
Como haría para importar el codigo así en visualcode, con import??
Sobre las carpetas no hay que preocuparse aparentemente, no haces nada esos pasos, luego usas el %run. Me dio curiosidad y estuve probando.
Sí pude importar funciones de un .py a un .ipynb con el from/import.
Sí pude importar funciones de un .py a un .py con el from/import.
No pude importar funciones de un .ipynb a un .py con el import ni con el %run. Podría exportarse a .py.
SI pude importar funciones de un .ipynb a un .ipynb con el %run
Nueva funcionalidad... Mue buena!
que cvr funcion poder ejecutar un notebook denro de otro notebook con %run <notebook>
Creo que es mas facil usar un entorno virtual con jupyter en vscode asi que voy a ignorar todos estos pasos...
Cómo se haría en Google colab?
Debería ser muy parecido. Solo busca en la barra lateral la opcion de subir archivos. Luego ejecutas la linea de codigo y listo.