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

如何用两个字符串命名Python DataFrame列?解决'str' object is not callable报错

问题解决:'str' object is not callable 错误

这个错误的核心原因是你当前的df变量不是pandas DataFrame对象,而是被意外赋值成了字符串。当你试图用df[列名]的方式操作时,本质是在对字符串执行索引/赋值操作,而字符串不支持这种用法,因此抛出错误。

解决步骤:

  • 先确认df的类型,运行以下代码:
    print(type(df))
    
    如果输出是<class 'str'>,说明df确实被覆盖成了字符串。
  • 找到代码中把df赋值为字符串的位置(比如可能写过df = "某个字符串"这类代码),删除或修正这部分逻辑,确保df是正确初始化的pandas DataFrame对象(比如通过pd.read_csv()、pd.DataFrame()等方式创建)。
  • 确认df是DataFrame后,你原本的创建列的代码是完全可行的:
    var1 = "abc"
    var2 = "def"
    df[var1 + "_" + var2] = df['existing_col'].copy()
    

内容的提问来源于stack exchange,提问作者lostwanderer

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 02:31:11