首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在jupyter-notebook中逐行执行代码?

如何在jupyter-notebook中逐行执行代码?
EN

Stack Overflow用户
提问于 2016-07-12 13:43:42
回答 4查看 33.3K关注 0票数 26

我正在读一本名为Python Machine Learning的书,并试图分析代码。但它只提供*.ipynb文件,这让我非常烦恼。

例如,

在这段代码中,我不想运行整个In[9],而是逐行运行,这样我就可以检查变量的每个值,并了解每个库函数的作用。

每次我想要执行部分代码时,我都需要注释吗?我只想要像MATLAB中那样的Execute the block part

还有,假设我注释了代码的某一部分,并逐行执行。如何在不使用print()display()的情况下检查每个变量的值?正如您所知道的,我不必使用print()来检查终端的python interactive shell中的值。在Jupyter中也有类似的方式吗?

EN

回答 4

Stack Overflow用户

发布于 2018-01-09 15:43:12

ast_node_interactivity

在Jupyter Notebook或IPython控制台中,您可以使用ast_node_interactivity配置此行为:

代码语言:javascript
复制
from IPython.core.interactiveshell import InteractiveShell
InteractiveShell.ast_node_interactivity = "all"

示例

有了这个配置,每一行都可以很好地打印出来,即使它们在同一个单元格中。

笔记本中的

IPython console中的

备注

Jupyter Notebook isn't displayed.

  • There还有许多其他有用的技巧和技巧("28 Jupyter Notebook tips,tricks here shortcuts Dataquest").

“)

票数 18
EN

Stack Overflow用户

发布于 2016-07-12 21:44:39

您只需添加新单元格,然后将想要的部分剪切并粘贴到新单元格。因此,例如,您可以将imports和%matplotlib inline放在第一个单元格中(因为它们只需要在第一次打开笔记本时运行),将y生成放在第二个单元格中,将X生成放在第三个单元格中,将绘图放在第四个单元格中。然后你可以一个接一个地运行每个单元。这只是一个例子,你可以随心所欲地拆分它(尽管我确实建议在一开始就把导入放在一起)。

至于打印,如果单元格中的最后一行没有分配给变量,则会自动打印。例如,假设下面是一个单元格:

代码语言:javascript
复制
y = df.iloc[0:100, 4].values
y = np.where(y == 'spam', -1, 1)
y

y的内容将显示在单元格之后。同样,如果您有一个包含以下内容的单元格:

代码语言:javascript
复制
y = df.iloc[0:100, 4].values
y = np.where(y == 'spam', -1, 1)
y.sum()

y.sum()操作的结果将显示在单元格之后。另一方面,如果执行以下单元格,则不会打印任何内容:

代码语言:javascript
复制
y = df.iloc[0:100, 4].values
y = np.where(y == 'spam', -1, 1)

也没有为这个打印任何内容:

代码语言:javascript
复制
z = {}
y = df.iloc[0:100, 4].values
z['spam'] = np.where(y == 'spam', -1, 1)
票数 4
EN

Stack Overflow用户

发布于 2019-09-01 14:03:44

在PyCharm Jupyter Notebook中,您只需右键单击并拆分单元格,完成后右键单击合并。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38320837

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档