代码之家  ›  专栏  ›  技术社区  ›  rocksNwaves

从第二个笔记本开始

  •  0
  • rocksNwaves  · 技术社区  · 5 年前

    上下文:

    不管怎样,我在处理代码示例时会在markdown中做笔记。它给了我一个想法,在我学习的过程中编写我自己的小课本。

    例如,在笔记本1中,我谈到(自学)线性回归。它记录词汇表,显示一些数学公式,然后通过一些代码示例。结束部分。

    问题:

    有没有办法把这两个笔记本连在一起,这样我就不必重新编写第一个笔记本的代码了?

    我的尝试:

    似乎我最想做的就是

    %run notebook_01.ipynb

    但是,这会抛出一个错误。注意,它似乎在搜索要运行的.py文件:

    ERROR:root:File 'linear_regression01.ipynb.py' not found.

    编辑: 我得到了魔法指令 %run 不过,为了工作,它会运行并将整个第一个笔记本打印到第二个笔记本上。我很高兴知道如何做到这一点,它确实实现了不必重新编码的目标,但它完全重新打印了所有我不想要的东西。

    0 回复  |  直到 5 年前
        1
  •  1
  •   bashBedlam    5 年前

    如果从命令行运行此命令:

    jupyter nbconvert --to script first_notebook.iynb
    

    它将从您的第一个笔记本创建一个名为“first_notebook.py”的python文件。之后,您可以使用以下命令从该文件导入到第二个笔记本:

    import first_notebook
    
        2
  •  0
  •   rocksNwaves    5 年前

    好吧,我通过抑制输出找到了答案:

    from IPython.utils import io
    with io.capture_output() as captured:
        %run your_linked_notebook.ipynb 
    

    这将导致要链接的笔记本运行,允许您使用其中的任何数据,但不必查看其中的所有输出和可视化效果。

    如果有一个答案不涉及运行笔记本链接,我会很高兴看到它。