use*_*632 22 python ipython ipython-notebook jupyter jupyter-notebook
我正在读这本书,Python Machine Learning并试图分析代码.但它只提供*.ipynb文件,这让我非常麻烦.
例如,
在这段代码中,我不想运行整个In[9]但是想逐行运行,以便我可以检查变量的每个值并知道每个库函数的作用.
每次我想执行部分代码时,是否必须发表评论?我只是想类似Execute the block part像MATLAB
而且,让我说我评论代码的某些部分并逐行执行.如何在不使用print()或检查每个变量的值的情况下进行检查display()?如您所知,我不必使用print()检查python interactive shell终端中的值.是否有类似的方式Jupyter?
Eri*_*nil 12
在Jupyter Notebook或IPython控制台中,您可以使用以下命令配置此行为ast_node_interactivity:
from IPython.core.interactiveshell import InteractiveShell
InteractiveShell.ast_node_interactivity = "all"
Run Code Online (Sandbox Code Playgroud)
使用此配置,即使它们位于同一单元格中,每条线也都会被打印出来.
None 没有显示.
还有其他许多有用的技巧在这里("28个Jupyter笔记本技巧,窍门和捷径- Dataquest公司").
您只需添加新单元格,然后将所需的部分剪切并粘贴到新单元格中即可。因此,例如,您可以将导入和放在%matplotlib inline第一个单元格中(因为它们只需要在笔记本第一次打开时运行),将生成放在y第二个单元格中,将X生成放在第三个单元格中,将绘图放在第四个单元格中。然后您可以依次运行每个单元格。这只是一个示例,您可以根据需要将其拆分(尽管我确实建议在一开始就将导入放在一起)。
至于打印,如果单元格中的最后一行未分配给变量,则会自动打印。例如,假设以下是一个单元格:
y = df.iloc[0:100, 4].values
y = np.where(y == 'spam', -1, 1)
y
Run Code Online (Sandbox Code Playgroud)
然后 的内容y将显示在单元格后面。同样,如果您有一个包含以下内容的单元格:
y = df.iloc[0:100, 4].values
y = np.where(y == 'spam', -1, 1)
y.sum()
Run Code Online (Sandbox Code Playgroud)
然后操作的结果y.sum()将显示在单元格后面。另一方面,如果执行以下单元格,则不会打印任何内容:
y = df.iloc[0:100, 4].values
y = np.where(y == 'spam', -1, 1)
Run Code Online (Sandbox Code Playgroud)
也没有为此打印任何内容:
z = {}
y = df.iloc[0:100, 4].values
z['spam'] = np.where(y == 'spam', -1, 1)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
20182 次 |
| 最近记录: |