You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jupyter环境已定义data仍报NameError: name 'data' is not defined求助

Jupyter已定义data变量但后续调用提示NameError的问题排查及解决

问题产生原因

  • 内核重启后未重新执行变量定义代码:Jupyter内核重启(包含手动重启、页面关闭重连、内核崩溃自动重启)后,内存中所有已定义的变量都会被清空。报错信息中的<ipython-input-1-19640b13f9cb>说明运行data['title']的单元格是本次内核启动后第1个执行的单元格,你并未先运行定义data的代码块。
  • 定义data的代码块执行失败:你提供的代码中存在无注释标识的Importing Pandas行,该行不属于合法Python语法,若未加#改为注释,运行该代码块会直接抛出语法错误,data变量不会完成定义。
  • 单元格执行顺序混乱:Jupyter不强制单元格按从上到下的顺序执行,如果你先跑了后续取数的单元格,再跑定义data的单元格,也会出现先执行的逻辑报错变量未定义的问题。
  • 变量被手动删除:如果中间运行过del data这类删除变量的指令,后续调用也会触发该报错。

解决方法

  • 按顺序重新执行前置代码:内核重启后,先运行导入依赖、定义变量、读取文件的所有前置代码块,确认代码块无报错后,再运行data['title']逻辑。
  • 修正代码语法错误:将无注释标识的Importing Pandas改为注释,避免语法错误中断执行,修正后的代码如下:
import pandas as pd 
# Importing Pandas
names = ('ids','title','year','rating','votes','length','genre')
data = pd.read_csv('imdb_top_10000.txt', sep="\t", names=names , index_col = 1)
  • 校验变量状态:运行data['title']前可单独执行data或print('data' in dir())确认变量是否存在且正常赋值。
  • 核对执行顺序:通过单元格左侧的In [x]编号确认执行顺序,定义data的单元格编号必须小于运行data['title']的单元格编号,否则重新按顺序执行即可。

内容的提问来源于stack exchange,提问作者amzPakistani

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 07:36:01