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

Pandas循环拼接DataFrame异常:主表每次被重置为循环表

问题排查与修复
  • 核心错误是赋值语句写错:第一次循环分支里的firstloop == False是比较操作,不会修改firstloop的布尔值。这导致每次循环都会进入if firstloop分支,把main_db重置为当前的loop_db,完全不会执行else里的拼接逻辑。
  • 额外优化:没必要每次都用.copy(),pd.concat会返回新的DataFrame;建议拼接时加上ignore_index=True,避免索引重复问题。

修复后的代码:

firstloop = True
for x in x_list:
    loop_db = myFunctionReturnADataframe(x)
    
    if firstloop:
        main_db = loop_db
        firstloop = False  # 改为赋值运算符=
    else:
        main_db = pd.concat([main_db, loop_db], ignore_index=True)

更高效的写法(适合数据量较大的场景):先收集所有子DataFrame,最后一次性拼接,避免循环内反复拼接的性能损耗

df_list = []
for x in x_list:
    df_list.append(myFunctionReturnADataframe(x))

main_db = pd.concat(df_list, ignore_index=True)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 14:52:31