我有一个用于机器学习项目的jupyter笔记本。它有20个细胞。我想要自动化的是,运行前19个单元格,在最后一个单元格中更改全局变量,然后使用此全局变量更改从2开始运行所有单元格。
如果存在某种GOTO功能,我可以告诉单元格在完成后转到另一个单元格,这将是完美的,但解决方法也很有用。
我试图避免的是:
- 全局变量更改后复制所有单元格或
- 需要手动执行此操作,以便我无法选择“全部运行”。
答案 0 :(得分:3)
您可以通过在笔记本中运行一些Javascript以编程方式执行单元格。将以下内容放入笔记本电脑的第21个单元格中:
%%javascript
// run the first 19 cells
var i;
for(i=0; i<19; i++) {
Jupyter.notebook.execute_cells([i]);
}
// set the global in the 20th cell:
Jupyter.notebook.execute_cells([19]);
// run 2nd through 19th cells again:
for(i=1; i<19; i++) {
Jupyter.notebook.execute_cells([i]);
}