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

如何对DataFrame列中的每个字典执行提取键操作?

问题原因

你写的df["col1"].keys()是取Pandas Series对象自身的索引,不是Series里存储的每个字典元素的键,所以达不到逐行提取的效果。

解决方法

你可以用apply方法逐行处理列里的每个字典:

  • 如果你要得到逗号分隔的字符串格式(和你示例输出完全一致),执行以下代码:
df["col1"] = df["col1"].apply(lambda x: ", ".join(map(str, x.keys())))
  • 如果你想保留列表格式存储键,后续需要继续用键做计算,执行以下代码:
df["col1"] = df["col1"].apply(lambda x: list(x.keys()))

异常兼容

如果你的列里存在非字典类型的空值/异常值,可以加类型判断避免报错:

df["col1"] = df["col1"].apply(lambda x: ", ".join(map(str, x.keys())) if isinstance(x, dict) else "")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 06:15:08