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

如何在pandas中为现有DataFrame添加新列?assign方法执行后列未添加问题

核心问题

pandas 的 assign() 方法默认不会修改原 DataFrame,而是返回一个添加了新列的全新 DataFrame 对象。你当前的代码没有接收该方法的返回值,原 df 自然不会有任何变更。

修复方案

方案1:接收 assign 返回值

适合需要做链式数据处理的场景,不会破坏连续调用的逻辑:

import pandas as pd
df = pd.DataFrame(data = {"test":["mkt1","mkt2","mkt3"],
                         "test2":["cty1","cty2","cty3"]})
print("Before",df.columns)
# 把assign返回的新DataFrame赋值给原变量覆盖
df = df.assign(test3="Hello")
print("After",df.columns)

方案2:直接原地新增列

直接对原DataFrame做修改,写法更简洁:

df["test3"] = "Hello"

修改后运行输出结果如下:

Before Index(['test', 'test2'], dtype='object')
After Index(['test', 'test2', 'test3'], dtype='object')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 22:54:02