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

如何用更高效的Pandas方法将每行单字典列表转为列名与列数据?

如何用Pandas原生方法提取列表中字典的键为列、值为行数据?

直接用下面两种Pandas原生方法就能搞定,不需要自定义函数,步骤更简洁高效:

方法一:矢量化操作(大数据集首选)

利用str[0]直接取出每行列表里的唯一字典,再通过pd.DataFrame()自动展开键为列、值为行:

# 提取字典并转为DataFrame
sentiment_df = pd.DataFrame(analyze['sentiment'].str[0].tolist())
# 合并回原DataFrame(可选,根据需求保留原列或替换)
analyze = pd.concat([analyze.drop('sentiment', axis=1), sentiment_df], axis=1)

方法二:简化apply操作

如果数据量不大,也可以用apply(pd.Series)直接展开字典:

# 展开字典为新列
sentiment_df = analyze['sentiment'].str[0].apply(pd.Series)
# 合并回原表
analyze = analyze.join(sentiment_df)

效果说明

不管用哪种方法,原来每行的[{'label': 'POSITIVE', 'score': 0.9969509840011597}]都会被转换成两列:

  • label列:对应值为POSITIVE
  • score列:对应值为0.9969509840011597

对比你之前的自定义函数方法,这两种原生方法无需额外编写转换函数,而且方法一的矢量化操作(str[0]+tolist())比apply自定义函数的效率高很多,尤其处理大规模数据时差异更明显。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 02:40:32