python - 在 Jupyter Notebook Markdown Cell Python 中打印变量
问题描述
我可以在 Markdown Cell Jupyter Notebook 中打印变量的值吗?
试过的代码:
value = 5.3
Markdown cell --> Value is {{ value }}
我希望 Markdown 单元格应该显示变量的值
截屏
解决方案
@nilansh bansal 的回答非常适合 Jupyter Notebooks。不幸的是,它不适用于 JupyterLab,因为不再支持该插件(所有 nbextension 插件都是如此)。由于 JupyterLab 越来越受欢迎,我想补充到目前为止的答案,因为我花了很长时间才找到解决方案。这是因为到目前为止还没有与 JupyterLab 兼容的插件。通过结合这个和这个SO 答案,我为自己找到了以下解决方案:
from IPython.display import Markdown as md
# Instead of setting the cell to Markdown, create Markdown from withnin a code cell!
# We can just use python variable replacement syntax to make the text dynamic
n = 10
md("The data consists of {} observations. Bla, Bla, ....".format(n))
或者,可以按照@Igor Fobia for Python >3.6的建议简化最后一行:
md(f"The data consists of {n} observations. Bla, Bla, ....")
这会导致所需的输出。但是,它有一个巨大的缺点,即在导出 NB 时代码单元仍然可见。但这可以解决:
- 在代码单元格中添加一个标签,即将其命名为“隐藏”
- 配置
nbconvert
为忽略标记的单元格,例如通过将其添加c.TagRemovePreprocessor.remove_input_tags = {"hide"}
到您的~/.jupyter/jupyter_notebook_config.py
配置文件中
我已经写了一篇详细的博客文章,介绍了我如何实现这个在我的博客上发布笔记本的解决方案。如果您使用 JupyterLab < 2.0
,您可以安装jupyterlab-celltags
JupyterLab 的插件来简化单元格标记。
推荐阅读
- java - 无法确定任务 ':myapplication:preHuaweiDebugBuild' 的依赖关系
- angular7 - 如何将值从一个组件更新到另一个组件?
- c# - JsonConvert 反序列化十进制到 jtoken 将其转换为科学数,我如何将其转换回十进制?
- angular - 如何以角度展开/折叠多个面板?
- r - 无法使用 R 版本 3.4.1 创建 conda 环境
- c# - 有什么方法可以使用材质视觉在 iOS 中自定义控件样式?
- python - 在通过 Python 使用 Selenium 进行搜索后,找不到一种方法来抓取结果表
- javascript - 使用es6从数组中提取对象
- java - MockMvc 和 @ControllerAdvice 在测试中不起作用
- python - 如何在 Django 中的模型和相关模型中进行弹性搜索