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

如何将嵌套循环生成的字典追加到同一pandas DataFrame中

报错原因
  • 直接报错触发点:你调用pd.concat()时传入了字典类型的dictionary参数,该方法仅支持拼接DataFrame、Series类型对象,不支持字典
  • 逻辑问题:你在循环内重复创建DataFrame、重复执行拼接操作,不仅会导致结果不符合预期,还会大幅降低执行效率
修复实现

核心优化逻辑:先把每次循环生成的字典存入空列表,所有字典生成完成后一次性转换为DataFrame,pandas会自动把字典的键对齐为列名,满足你同键不同值的合并需求。

可直接运行的测试代码

import pandas as pd

# 你的测试数据集
letts = [('a','b','c'),('e','f','g'),('h','i','j'),('k','l','m'),('n','o','p')]
numns = [(1,2,3),(4,5,6),(7,8,9),(10,11,12),(13,14,15)]

# 存储所有生成的字典
dict_buffer = []
for i in letts:
    for j in numns:
        # 每次生成的字典追加到缓冲区列表
        dict_buffer.append(dict(zip(i, j)))

# 一次性转换为DataFrame
df_final = pd.DataFrame(dict_buffer)
# 如果需要将键设为行索引,额外加一步转置即可:
# df_final = pd.DataFrame(dict_buffer).T
结果说明

生成的df_final默认每行对应一次循环生成的字典、每列对应字典的键,缺失值自动填充为NaN。如果你的业务场景每次生成的字典是6个键,生成的DataFrame就会自动带6列数据,符合你的预期。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 11:24:02