python - ipynb - ¿Cómo puedo ejecutar el código línea por línea en jupyter-notebook?
jupyter r (2)
Estoy leyendo el libro, Python Machine Learning
, y traté de analizar el código. Pero ofrece solo el archivo *.ipynb
y me molesta mucho.
Por ejemplo,
En este código, no quiero ejecutar todo In[9]
pero quiero ejecutarlo línea por línea para poder verificar cada valor de variable y saber qué hace cada función de biblioteca.
¿Tengo que comentar cada vez que quiero ejecutar parte de los códigos? Solo quiero algo como Execute the block part
como en MATLAB
Y también, digamos que comento alguna parte del código y ejecuto línea por línea. ¿Cómo puedo verificar el valor de cada variable sin usar print()
o display()
? Como usted sabe, no tengo que usar print()
para verificar el valor en python interactive shell
en el terminal. ¿Hay alguna manera similar en Jupyter
?
ast_node_interactivity
En Jupyter Notebook o en la consola IPython, puede configurar este comportamiento con ast_node_interactivity
:
from IPython.core.interactiveshell import InteractiveShell
InteractiveShell.ast_node_interactivity = "all"
Ejemplos
Con esta configuración, cada línea se imprimirá bastante, incluso si están en la misma celda.
- En cuaderno:
- En la consola IPython:
Notas
None
no se muestra.Hay muchos otros consejos útiles here ("28 consejos, trucos y atajos de Jupyter Notebook - Dataquest").
Solo puede agregar nuevas celdas, luego cortar y pegar las partes que desee en las nuevas celdas. Así, por ejemplo, puede colocar las importaciones y %matplotlib inline
en %matplotlib inline
en la primera celda (ya que solo es necesario ejecutarlas cuando se abre el portátil por primera vez), la generación y
en la segunda, la generación X
en la tercera y La conspiración en el cuarto. A continuación, puede ejecutar cada celda una tras otra. Eso es solo un ejemplo, puede dividirlo como desee (aunque sí recomiendo unir las importaciones desde el principio).
En cuanto a la impresión, si la última línea de una celda no está asignada a una variable, se imprime automáticamente. Entonces, por ejemplo, digamos que lo siguiente es una celda:
y = df.iloc[0:100, 4].values
y = np.where(y == ''spam'', -1, 1)
y
Luego, el contenido de y
se mostrará después de la celda. Del mismo modo, si tienes una celda con estos contenidos:
y = df.iloc[0:100, 4].values
y = np.where(y == ''spam'', -1, 1)
y.sum()
Luego, el resultado de la operación y.sum()
se mostrará después de la celda. Por otro lado, si se ejecuta la siguiente celda, entonces no se imprime nada:
y = df.iloc[0:100, 4].values
y = np.where(y == ''spam'', -1, 1)
Tampoco hay nada impreso para este:
z = {}
y = df.iloc[0:100, 4].values
z[''spam''] = np.where(y == ''spam'', -1, 1)