跟随Kaggle视频操作时遇df.head() NameError:df未定义
解决
df.head()报NameError: 'df'未定义的问题 问题根源
NameError: name 'df' is not defined 说明当前代码环境里根本不存在名为df的变量,你用def定义函数完全找错了方向——def是用来创建函数的,和定义DataFrame变量毫无关系。
具体排查&解决步骤
- 确认创建
df的代码已执行:
Kaggle里通常是用pandas加载数据集生成df,比如df = pd.read_csv('你的数据集路径'),你得先运行这段代码,而且要保证它没报错(比如路径写错、数据集没加载成功都会导致df没被创建)。 - 检查变量名拼写:
别把教程里的df写成了其他名字(比如data、dff),变量名必须和教程里的完全一致。 - 核对代码执行顺序:
必须先运行创建df的代码,再执行df.head()——代码是按运行顺序生效的,先调用未定义的变量肯定报错。 - 检查Kaggle代码块状态:
Kaggle笔记本是分块运行的,要确保创建df的那个代码块左边有绿色对勾(表示已成功运行),没运行的块里的变量不会被加载到环境中。
正确示例流程
# 先导入pandas(如果之前没导入的话) import pandas as pd # 加载数据集生成df(替换成你教程里的数据集路径) df = pd.read_csv('../input/your-dataset/filename.csv') # 再调用df.head() df.head()
内容的提问来源于stack exchange,提问作者fsaforo Saforo
相关产品推荐
相关产品推荐

