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

在R语言中将ID列与另一列的列表元素匹配生成长数据框

解决方法

你可以用Pandas的explode()方法快速实现这个需求,这是处理列表列拆分行的最优方案:

步骤1:构造示例数据(模拟你的原始DataFrame)

import pandas as pd

# 模拟你提供的原始数据结构
df = pd.DataFrame({
    'ID': ['001', '002', '003'],
    'Codes': [['I10', 'E11'], ['I20'], ['J45', 'J46', 'N18']]
})

步骤2:使用explode()拆分列表列

# 拆分Codes列,生成长格式DataFrame,ignore_index=True重置行号
long_df = df.explode('Codes', ignore_index=True)

执行后得到的long_df就是你需要的格式:

IDCodes
001I10
001E11
002I20
003J45
003J46
003N18

兼容旧版Pandas(0.25以下版本)

如果你的Pandas版本低于0.25,explode()方法还未推出,可以用以下替代方案:

long_df = df.set_index('ID')['Codes'].apply(pd.Series).stack().reset_index(name='Codes').drop('level_1', axis=1)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 13:59:54