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

如何从列表中的多字典提取指定字段到DataFrame?解决索引报错

解决字典列表转DataFrame时的索引错误问题

嗨,我来帮你搞定这个问题!首先咱们先搞清楚你遇到的错误原因:你应该是尝试直接对整个列表使用字典的键来取值(比如写了your_list['time']),但列表只能用整数索引或者切片来访问元素,不能用字符串当索引,所以才会抛出list indices must be integers or slices, not str这个错误。单个字典能正常处理,是因为你直接操作的是字典本身,自然可以用键来取值~

下面给你两种靠谱的解决方法,你可以根据自己的需求选:

方法1:直接构造DataFrame后筛选列

如果你的字典列表里除了time和value还有其他字段,但你只需要这两列,可以先把整个列表转成DataFrame,再筛选出需要的列:

import pandas as pd

# 示例字典列表
your_dict_list = [
    {"time": "09:15:00", "value": 50, "other_field": "a"},
    {"time": "09:30:00", "value": 60, "other_field": "b"},
    {"time": "09:45:00", "value": 70, "other_field": "c"}
]

# 转成DataFrame并筛选需要的列
df = pd.DataFrame(your_dict_list)[["time", "value"]]
print(df)

方法2:先提取目标字段再构造DataFrame

如果你的字典列表非常大,提前提取需要的字段再构造DataFrame会更高效(避免加载不必要的数据):

import pandas as pd

# 先遍历列表,只保留每个字典里的time和value字段
filtered_list = [{"time": d["time"], "value": d["value"]} for d in your_dict_list]

# 转成DataFrame
df = pd.DataFrame(filtered_list)
print(df)

如果你按照@Phydeaux的建议尝试后还是有问题,可以把你写的代码贴出来,我再帮你排查细节~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 10:17:17