![](/img/trans.png)
[英]How can I get Jupyter-notebook syntax highlighting in VS code?
[英]How can I execute the code line by line in jupyter-notebook?
我正在阅读Python Machine Learning
一书,并尝试分析代码。 但它只提供*.ipynb
文件,这让我*.ipynb
。
例如,
在这段代码中,我不想运行整个In[9]
而是想逐行运行,以便我可以检查变量的每个值并了解每个库函数的作用。
每次我想执行部分代码时都必须评论吗? 我只想要像在MATLAB
Execute the block part
这样的东西
而且,假设我注释了代码的某些部分并逐行执行。 如何在不使用print()
或display()
情况下检查每个变量的值? 如您所知,我不必使用print()
在终端的python interactive shell
中检查值。 Jupyter
有类似的方法吗?
在 Jupyter Notebook 或 IPython 控制台中,您可以使用ast_node_interactivity
配置此行为:
from IPython.core.interactiveshell import InteractiveShell
InteractiveShell.ast_node_interactivity = "all"
有了这个配置,每一行都会被打印出来,即使它们在同一个单元格中。
None
显示。
还有其他许多有用的技巧在这里(“28个Jupyter笔记本技巧,窍门和捷径- Dataquest公司”)。
您可以只添加新单元格,然后将您想要的部分剪切并粘贴到新单元格中。 因此,例如,您可以将导入和%matplotlib inline
放在第一个单元格中(因为它们只需要在第一次打开笔记本时才需要运行),第二个y
代,第三个X
代,以及第四个情节。 然后你可以一个接一个地运行每个单元格。 这只是一个例子,您可以随意拆分它(尽管我建议在一开始就将导入放在一起)。
至于打印,如果单元格中的最后一行未分配给变量,则会自动打印。 因此,例如,假设以下是一个单元格:
y = df.iloc[0:100, 4].values
y = np.where(y == 'spam', -1, 1)
y
然后y
的内容将显示在单元格之后。 同样,如果您有一个包含以下内容的单元格:
y = df.iloc[0:100, 4].values
y = np.where(y == 'spam', -1, 1)
y.sum()
然后y.sum()
操作的结果将显示在单元格之后。 另一方面,如果执行以下单元格,则不会打印任何内容:
y = df.iloc[0:100, 4].values
y = np.where(y == 'spam', -1, 1)
也没有为此打印任何内容:
z = {}
y = df.iloc[0:100, 4].values
z['spam'] = np.where(y == 'spam', -1, 1)
在 PyCharm Jupyter Notebooks 中,您只需右键单击并拆分单元格,完成后右键单击合并。
我认为您可以在行之间打印变量。 这是最简单的方法
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.