执行pd.merge时报NameError:name 'train_1' is not defined求助
解决 pd.merge 触发 NameError 的问题
针对你遇到的NameError: name 'train_1' is not defined错误,按以下步骤排查解决:
核对读取文件的变量名与merge中的一致性
确保pd.read_excel赋值的变量名和merge时使用的完全一致,包括下划线、大小写。比如:
如果读取代码是:train_1 = pd.read_excel("train1.xlsx") train_2 = pd.read_excel("train2.xlsx")那merge代码里的
train_1和train_2才是正确的;如果读取时用的是train1(无下划线),merge时也要对应改成train1。确认读取代码已执行且变量存在
如果是在交互式环境(比如Jupyter Notebook)中,先重新执行读取文件的代码块,再用print(train_1.head())验证变量是否加载成功。如果内核重启过,必须重新读取文件。检查变量作用域(若用函数读取)
如果读取文件的逻辑写在函数内部,函数外无法直接访问内部变量。需修改函数返回变量:def load_data(): train_1 = pd.read_excel("train1.xlsx") train_2 = pd.read_excel("train2.xlsx") return train_1, train_2 # 调用函数并接收变量 train_1, train_2 = load_data() # 执行合并 pd.merge(train_1, train_2, on='PassengerId', how='outer')
内容的提问来源于stack exchange,提问作者Dipti
相关产品推荐
相关产品推荐

