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

使用for循环遍历列表合并DataFrame遇问题:仅生成最后一项结果

解决DataFrame合并仅保留最后一个结果的问题

你的代码存在两处关键问题,修正后即可正常合并所有元素对应的DataFrame:

1. 多余的列表append赋值操作

dfs.append(_data)是原地修改列表的操作,它的返回值是None,你写df = dfs.append(_data)完全没有意义,还会生成无效的None变量,但这并非只保留最后一个结果的核心原因。

2. 避免使用Python内置类型做变量名

list是Python的内置类型,用它做变量名会覆盖内置功能,建议改成base_list这类自定义名称。

修正后的代码

base_list = ["base1", "base2", "base3"]
dfs = []
for x in base_list:
    _data = function(x)
    # 直接向列表追加DataFrame,无需赋值给变量
    dfs.append(_data)
df_master = pd.concat(dfs, ignore_index=True)

额外排查点:检查function的返回逻辑

如果修正后仍只保留最后一个结果,大概率是你的function(x)存在副作用——它每次返回的是同一个DataFrame实例,后续调用会覆盖之前的数据。需要确保function内部每次都通过pd.DataFrame(...)生成新的DataFrame对象,而非在原有对象上修改后返回。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 21:04:55