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

Pandas中如何将两组配对的列表列按对应关系拆分为多行数据?

实现方法

你需要的是把存储了列表的words和tags列按对应位置拆分为独立行,Pandas的explode方法可以直接实现这个需求:

方法1(Pandas 1.3.0及以上版本,推荐)

支持直接对多列同时执行拆分,代码最简洁:

import pandas as pd

# 构造原始DataFrame,如果你已经有df可以跳过这步
data = [
    {'id': 1, 'words': ['Φ', '20mm'], 'tags': ['xc', 'PER']},
    {'id': 2, 'words': ['Φ', '80mm'], 'tags': ['xc', 'm']},
    {'id': 3, 'words': ['EVA'], 'tags': ['nz']},
    {'id': 4, 'words': ['Q345'], 'tags': ['nz']}
]
df = pd.DataFrame(data)

# 核心拆分逻辑,同时拆words和tags列,ignore_index重置行索引
result = df.explode(['words', 'tags'], ignore_index=True)

方法2(兼容低版本Pandas)

如果你的Pandas版本不支持多列同时explode,可以用索引对齐的方式实现:

result = df.set_index('id').apply(pd.Series.explode).reset_index()

两种方法输出的结果都和要求格式完全一致,因为每行的words和tags列表长度一一对应,拆分时会自动按位置匹配,不会出现标签错位的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 22:54:04