Python读取CSV生成DataFrame后打印报NameError错误求助
问题原因
你遇到的NameError: name 'df' is not defined报错是由Python变量作用域规则导致的:你在import_data函数内部定义的df属于局部变量,仅在函数运行的内部上下文生效。你调用函数时没有把返回的结果赋值给全局作用域的变量,所以函数运行结束后,全局环境里不存在名为df的变量,自然无法调用。
解决方案
调用函数时将返回值赋值给变量即可,示例代码如下:
# 调用函数并把返回的DataFrame赋值给全局变量df df = import_data() # 之后就可以正常打印、调用该变量 print(df)
额外注意事项
- 请确保代码开头已经导入pandas库并设置别名:
import pandas as pd,否则运行import_data函数时会触发pd未定义的报错 - 如果需要在其他自定义函数中使用这个DataFrame,推荐将
df作为参数传入目标函数,尽量避免使用全局变量声明,可以提升代码的可维护性
内容的提问来源于stack exchange,提问作者Enrique
相关产品推荐
相关产品推荐

