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

如何在Pandas DataFrame中将多列列表展开为多行?

Pandas多列表列同步展开实现方法

问题场景

现有一个包含三列的Pandas DataFrame:

  • Col 0:句子行号
  • Col 1:以列表格式存储的句子分词
  • Col 2:对应分词的标注列表

原始数据如下:

Col 0Col1Col2
1[This, is, sentence][l1, l2, l3]
2[This, is, sentence, too][l1, l2, l3, l4]

需要将Col1和Col2中的列表同步展开,使每个分词与对应标注单独成一行,目标格式:

Col 0Col1Col2
1Thisl1
1isl2
1sentencel3
2Thisl1
2isl2
2sentencel3
2tool4

错误尝试分析

  • 单独对单列调用explode:仅展开目标列,但另一列仍为列表,无法实现行对应匹配
  • 错误的多列explode写法:传入多个独立参数而非列名列表,且赋值方式不符合Pandas操作逻辑

正确实现代码

确保你的Pandas版本≥1.3.0(该版本开始支持多列同步explode),直接对整个DataFrame调用explode并传入需要展开的列名列表:

# 假设原DataFrame名为data
data_exploded = data.explode(['Col1', 'Col2'], ignore_index=True)

代码说明

  • explode(['Col1', 'Col2']):指定同时展开Col1和Col2两列,Pandas会自动同步对应位置的元素,保证每行的分词与标注一一对应
  • ignore_index=True:可选参数,展开后重置索引,避免原索引重复

执行后得到的结果即符合目标格式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 13:35:34