如何用自定义函数从.csv创建Python DataFrame?解决变量外部引用报错
问题解决:无法在函数外部引用DataFrame变量
问题原因
你函数里的df_input是局部变量,仅在combine_files函数执行的内部作用域中存在,函数执行完毕后该变量会被回收,所以外部直接引用会触发NameError。
解决方案
你需要将函数的返回值赋值给一个外部变量,这样就能在函数外访问这个DataFrame了:
# 调用函数并将返回值赋值给外部变量df_input df_input = combine_files('datasets/202105.csv') # 现在可以正常引用df_input print(df_input.head())
或者直接使用函数的返回值进行后续操作,无需额外赋值:
# 直接对返回的DataFrame执行操作 combine_files('datasets/202105.csv').describe()
不推荐的做法
不要为了让外部访问变量就在函数内使用global声明(比如global df_input),这种写法会破坏函数的封装性,增加代码维护难度。
内容的提问来源于stack exchange,提问作者Andy King
相关产品推荐
相关产品推荐

