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

如何在Pandas中将大数据框的行内列表拆分为三列?

拆分DataFrame行内列表为多列的高效方法

嘿,这个问题在处理批量数据时太常见了,300多行完全不用担心,我给你几个简单又高效的方案,轻松搞定:

方法一:利用tolist()直接构造新DataFrame(推荐,速度最快)

这个方法是向量式操作,比逐行处理快得多,不管数据量多大都适用:

import pandas as pd

# 假设你的原DataFrame叫做df
new_df = pd.DataFrame(df[0].tolist(), columns=['Code', 'Status', 'TaskID'])

解释:

  • df[0]是你存储列表的那一列(Series类型)
  • tolist()会把整个Series转换成一个二维列表,每个子列表对应原行的三个元素
  • 直接用pd.DataFrame()构造新表,还可以通过columns参数给新列指定有意义的名字

如果原DataFrame还有其他列需要保留,直接用concat合并即可:

# 保留原DataFrame的其他列 + 新拆分的列
final_df = pd.concat([df.drop(0, axis=1), new_df], axis=1)

方法二:用apply(pd.Series)拆分

这个方法更直观,适合刚接触Pandas的朋友,300行的数据量完全没问题:

# 拆分列表为三列,同时命名
new_df = df[0].apply(pd.Series).rename(columns={0:'Code', 1:'Status', 2:'TaskID'})

注意:

如果数据量达到几万甚至几十万行,apply的速度会比第一种方法稍慢,但300行的话几乎没差别。

示例效果

运行上述代码后,你的数据会从原来的单列表格,变成这样的结构:

CodeStatusTaskID
0121Issued10112
1121Assigned10112
2121Completed10112
3121Issued10113
............

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.07 13:37:39