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

如何用Pandas拆分含多值的单元格并为每个值插入新行?

解决方案

要实现将Multiple列中的列表元素拆分为独立行,同时保留对应ID和Type的需求,可以使用Pandas的explode方法,步骤如下:

完整代码

import pandas as pd

# 初始化原DataFrame
df = pd.DataFrame([[123,124,125,126], 
                   ['FX10', 'FX11', 'FX12', 'FX15'],
                   [['A', 'B', 'C'], ['X', 'Y'], None, [1]],
                 ]).T
df.columns = ['ID', 'Type', 'Multiple']

# 执行拆分转换
result_df = df.explode('Multiple', ignore_index=True)

# 查看结果
print(result_df)

转换后结果

IDTypeMultiple
0123FX10A
1123FX10B
2123FX10C
3124FX11X
4124FX11Y
5125FX12NaN
6126FX151

补充说明

  • explode('Multiple')核心作用是将指定列中的列表元素逐一拆分为独立行,自动复制对应行的其他列值
  • ignore_index=True用于重置结果的索引,避免原索引重复
  • 若使用的Pandas版本低于1.3.0,需先将None转换为单元素列表,再执行拆分:
    df['Multiple'] = df['Multiple'].apply(lambda x: x if isinstance(x, list) else [x])
    result_df = df.explode('Multiple', ignore_index=True)
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 22:15:41