Al trabajar con Jupyter Notebooks nos podemos encontrar que después de trabajar en un archivo este es demasiado grande y es mejor dividirlo en varios para trabajar mejor con ellos. Dado que puede haber cientos de celdas, copiar una a una puede ser una tarea tediosa. Afortunadamente existe una herramienta con la que se puede hacer justamente esto, dividir un archivo de Jupyter Notebook en varios.
Para dividir los archivos de Jupyter Notebook se puede usar una herramienta de Python llamada nbmanips. Como la mayoría de los paquetes de Python se puede instalar fácilmente mediante pip. Por lo es necesario abrir una terminal y ejecutar el siguiente comando.
pip install nbmanips
Si todo ha ido correctamente, ahora debería ser posible llamar desde la línea de comandos al nb para dividir los Notebooks. Se puede comprobar la versión instalada con el comando
nb --version
Lo que deberá devolver la versión instalada de nbmanips.
La forma más sencilla de dividir un archivo de Jupyter Notebook es indicando los índices de las celdas. Para ello solamente se tiene que ejecutar el comando np split seguido del nombre del archivo y separado por comas los índices de las celdas con los que se desea separar el contenido. Así para separar un Notebook llamado modelos.ipynb a partir de la celda 7 y 14 se puede usar:
nb split modelos.ipynb 7,14
Lo que creará tres archivos llamados modelos-0.ipynb, modelos-1.ipynb y modelos-2.ipynb conteniendo respectivamente las celdas 1 a 7, 8 a 14 y de 15 en adelante.
En un Notebook grande contar el número de celdas posiblemente no sea algo eficiente. Para solucionar este problema existe una función de nbmanips que nos puede generar una tabla de contenidos. Para ellos solo es necesario ejecutar el comando nb toc seguido del nombre del archivo. Para el ejemplo anterior sería la siguiente línea.
nb toc modelos.ipynb
produciendo como resultado una salida similar a la siguiente
1 Importación de los datos [0] 2 Preprocesado de los datos [4] 2.1 Eliminación de nulos [7] 3 Creación de los modelos [11] 3.1 Regresión logística [13] 3.2 Árboles de decisión [17] 3.3 SVM [21] 4 Validación de los modelos [25]
Ahora este comando nos buscará títulos en celdas de Markdown, indicando la posición de cada uno de ellos. Por lo que si en el ejemplo se desea separa por capítulos se debería ejecutar
nb split modelos.ipynb 4,11,25
Forzar la división en base a etiquetas es otra opción. Proceso que tiene dos fases, en primer lugar, identificar la posición de las etiquetas y posteriormente realizar la división. Para ello se puede ejecutar el siguiente código
select has_html_tag h1 | nb split -s modelos.ipynb
En este lo primero que se hace es buscar las celdas en las que hay un título (‘h1’), por lo tanto, comienza una sección. Para los subtítulos sería h2 y así en adelante. Posteriormente la salida del comando se envía a la función split dividiendo el Notebook original en varios.
Hoy se han visto algunas funciones del paquete nbmanips con el que se puede manejar los archivos Jupyter Notebook. En concreto se ha visto cómo se puede dividir un archivo de Jupyter Notebook en varios.
"Tu contraseña debe tener al menos 8 caracteres, una mayúscula, un número y un símbolo…
Cuando un analista de riesgo presenta un nuevo scorecard ante el comité de dirección, la…
Si revisáis código o documentación de otros programadores, tarde o temprano os toparéis con dos…
Los dos artículos anteriores cubrieron el CLV clásico —una fórmula útil pero que trata a…
Hay un momento muy concreto en la vida de casi todo análisis: el código que…
Has construido un nuevo modelo de credit scoring. Las métricas de validación son mejores que…
This website uses cookies.