我安排我的Jupyter的笔记本电脑分为:data.ipynb,methods.ipynb和results.ipynb。如何有选择地从数据和方法笔记本中导入单元格以便在结果笔记本中使用?
我知道的nbimporter和ipynb,但变量没有这些要约的选择性导入。有一个选项可以导入定义 - 包括大写的变量 - 但这对我不起作用,因为我必须将笔记本中的大多数变量转换为大写。
我宁愿导入除了需要很长时间才能评估的两个或三个单元格之外的所有内容。理想情况下,我想将一些任务的执行推迟到我访问它们的那一刻(懒惰评估) - 但我知道它可能很难实现。
这是概述,在伪代码中(每行重复一个单元格):
data.ipynb:
raw_data = load_data()
dataset = munge(raw_data)
describe(dataset)
methods.ipynb:
import data
method = lambda x: x * x
# showcase how the method works on a subset of the dataset
method(data.dataset[:5])
results.ipynb:
import data
import methods
result = methods.method(data.dataset)
describe(result)
动机是我的真实数据和方法笔记本:
更长,更复杂,因此我想使用导入系统
只有几个单元需要花费超过几秒的时间来评估
另外,方法笔记本不能用methods.py文件替换。实际上,我有这样一个文件,其中包含我的方法的实现细节。笔记本更适合指定默认参数,展示我的方法如何工作并解释示例结果。








暂无数据