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

如何拆分Pandas DataFrame中含列表的单元格并展开数据?

搞定Pandas多列列表展开的需求

嘿,这需求我熟,直接给你上解决方案和解释!

首先先还原你的原始DataFrame:

import pandas as pd

data = {
    0: [['x','y','z'], ['a','b','c'], ['a','b','c']],
    1: [['a','b','c'], ['a','b','c'], ['a','b','c']],
    2: [['a','b','c'], ['x','y','z'], ['a','b','c']]
}
df = pd.DataFrame(data, index=['Mon', 'Tue', 'Wed'])

要转换成你想要的格式,一行代码就能搞定:

result = df.apply(pd.Series.explode)

运行后得到的result就是你要的样子:

0  1  2
Mon  x  a  a
Mon  y  b  b
Mon  z  c  c
Tue  a  a  x
Tue  b  b  y
Tue  c  c  z
Wed  a  a  a
Wed  b  b  b
Wed  c  c  c

为啥这个方法管用?

  • apply(pd.Series.explode)会对DataFrame的每一列单独执行explode()操作
  • explode()的作用就是把单元格里的列表拆成多行,同时保留原来的行索引(也就是你的日期标签)
  • 不管各列的列表长度是否一致,这个方法都能处理——如果某列的列表比其他列短,对应的位置会自动填充NaN,完全适配你提到的场景

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 03:42:30