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

如何用更优雅的单行代码替换Pandas DataFrame的列(含新列名)

回答

有几种简洁的单行实现方式,直接看方案:

  • 链式调用drop+assign
    这是最直观的单行写法,先删除旧列再添加新列:
df1 = df.drop(columns=['Age']).assign(Marks=marks)
  • assign+drop的顺序调换
    也可以先添加新列再删除旧列,效果完全一致:
df1 = df.assign(Marks=marks).drop(columns=['Age'])
  • 原地修改原DataFrame(无需保留原数据)
    如果不需要保留原始的df,可以直接在原对象上操作,一行搞定:
df['Marks'], df.pop('Age') = marks, None

这里df.pop('Age')会直接移除旧列,我们用None接收返回值即可,同时完成新列的赋值。

以上方法都能实现你需要的替换列效果,代码更紧凑简洁。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 16:47:55