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

Python中如何遍历pandas DataFrame列逐列追加单个值

问题原因

你的示例代码存在三处核心问题:

  • 初始DataFrame定义错误:df: ['a', 'b', 'c']属于类型标注语法,没有实际生成带指定列名的空DataFrame对象
  • 追加逻辑错误:循环内每次仅传入单个列的键值对调用追加方法,会每次新增一行,该行仅当前遍历的列值为5,其余列自动填充NaN,最终得到3行带大量缺失值的结果,不符合预期
  • 方法弃用问题:DataFrame.append自pandas 1.4版本起标记为弃用,2.0及以上版本已正式移除,无法正常运行

正确实现(满足for循环遍历列的要求)

完整可运行代码

import pandas as pd

# 初始化列名为a、b、c的空DataFrame
df = pd.DataFrame(columns=["a", "b", "c"])

# 遍历所有列,生成待追加的行数据
new_row = {}
for column in df.columns:
    new_row[column] = 5

# 追加行到原DataFrame(兼容所有pandas版本的写法)
df = pd.concat([df, pd.DataFrame([new_row])], ignore_index=True)

输出结果

a  b  c
0  5  5  5

可选简化写法

如果没有强制要求使用for循环,可以用更简洁的方式实现相同效果:

# 直接在末尾新增一行,所有列赋值为5
df.loc[len(df)] = [5] * df.shape[1]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 00:48:02