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

如何从包含多个字典的列表生成指定三列的pandas DataFrame

问题原因
  • 拼写错误:pandas 数据帧构造类的正确拼写是 pd.DataFrame,你的代码中写的 pd.Dataframe(首字母f小写)属于类名拼写错误,无法正确初始化数据帧对象。
  • append 方法特性:pandas 的 append 方法不会原地修改原数据帧,而是会返回一个新的数据帧对象,你没有将返回结果赋值回原变量,所以原变量一直是空值。且目前pandas高版本已经正式弃用append方法,循环追加的写法本身效率极低,不推荐使用。
最优解决方案

直接把字典列表传入DataFrame构造器即可,不需要循环,代码如下:

import pandas as pd

# 直接传入dictlist生成指定列的DataFrame
output = pd.DataFrame(dictlist, columns=['subject', 'link', 'object'])

注:如果你的dictlist里的字典存在额外键,columns参数会强制只保留你指定的subject、link、object三列,完全符合需求。

修正原循环写法(仅作参考,不推荐)

如果你坚持要修改原有循环写法,调整后的代码如下:

import pandas as pd

output = pd.DataFrame()
for j in dictlist:
    # 将append返回的新数据帧赋值回output
    output = output.append(j, ignore_index=True)

注:该写法在pandas 2.0+版本会抛出弃用警告,运行效率远低于直接传入字典列表的方案,不建议在生产环境使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 09:36:06