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

执行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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 22:03:10