Gri*_*ins 6 python jupyter-notebook
我有一个在 jupyter 的一个单元格中使用的变量,但是当我在下一个单元格中调用它时,它说找不到该变量
我尝试在从子文件读取数据之前创建变量的实例。我尝试创建另一个与第一个变量相同的变量,并在下一个单元格中使用该变量。
if os.path.isfile("cointegration.json"):
with open("cointegration.json", "r") as f:
cointegration_mv = json.load(f)
else:
cointegration_mv = {}
for i in range(0, len(usd_pairs)):
pair_i = usd_pairs[i]
print(pair_i)
for j in range(0, i):
pair_j = usd_pairs[j]
print("\t+",pair_j)
if pair_i != pair_j:
code = pair_i + '_' + pair_j
print("\t\t=",code)
cointegration_mv[code] = get_cointegration(pair_i, pair_j)
json = json.dumps(cointegration_mv)
f = open("cointegration.json","w")
f.write(json)
f.close()
print(cointegration_mv.keys())
#This does print the keys
#The next cell
print(cointegration_mv.keys())
Run Code Online (Sandbox Code Playgroud)
错误是:
NameError Traceback (most recent call last)
<ipython-input-15-7abb854e8cc9> in <module>
----> 1 print(cointegration_mv.keys())
NameError: name 'cointegration_mv' is not defined
Run Code Online (Sandbox Code Playgroud)
即使当我在读入数据之前创建变量的实例(因此我希望键为空),以及当我尝试复制变量并传递副本时,也会发生这种情况。
小智 14
我知道这个问题已有 2 年历史了,但对于遇到此问题的 Jupyter Notebook 新手来说,您很可能必须运行之前的单元格,以便 Jupyter 初始化/声明/存储之前的变量。每当您运行一个单元格时,它不会自动运行其他单元格并获取以前的变量。正如下面的指南最好地解释的那样:
请注意,在 Jupyter Notebook 中,重要的是单元的执行顺序,而不是它们出现的顺序。Python 将记住之前运行的所有代码,包括您定义的任何变量,无论笔记本中的顺序如何。因此,如果您在笔记本下方定义变量,然后(重新)向上运行单元格,则下方定义的变量仍将存在
| 归档时间: |
|
| 查看次数: |
10734 次 |
| 最近记录: |