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

pandas中使用for循环为DataFrame批量新增多个计算列的实现方法

问题原因分析
  • 你代码中的append方法是DataFrame用来追加行数据的API,无法实现新增列的需求,这是运行结果不符合预期的核心原因。
  • 新增列不需要调用append方法,直接给DataFrame指定新列名赋值即可,该操作是pandas原生向量化操作,就算处理百万级以上的DataFrame也有很高的运行效率,完全适配大体量项目的需求。
正确实现代码
import pandas as pd

data = {'Time':  [20,10,15],
     'Amount': [10,5,25]}    
df = pd.DataFrame(data)

# 遍历系数范围直接新增列
for i in range(2,5):
    df[f'Amount i={i}'] = df['Amount'] * i

print(df)
运行输出结果

注:你给出的预期输出中第三行Amount i=4的值为75属于计算笔误,25*4的正确结果为100,上述代码输出的结果为:

Time  Amount  Amount i=2  Amount i=3  Amount i=4
0    20      10          20          30          40
1    10       5          10          15          20
2    15      25          50          75         100

如果确实需要i=4时取值为75,可以根据你的业务规则修改循环内的赋值逻辑即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 21:00:00