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

如何在Pandas中将多列嵌套列表拆分为多列?

解决方案:拆分Pandas多列嵌套列表为多列

针对你有多个嵌套列表列的DataFrame,你可以通过批量处理每一列并拼接结果的方式实现需求,以下是两种可行方法:

方法一:循环遍历处理(直观易理解)

import pandas as pd

# 假设你的原始DataFrame为dframe
final_df = pd.DataFrame()

# 遍历每一列,拆分后拼接
for col_name in dframe.columns:
    # 将当前列的列表转为新的DataFrame
    split_part = pd.DataFrame(dframe[col_name].tolist())
    # 按列拼接至结果集
    final_df = pd.concat([final_df, split_part], axis=1)

# 可选:重置列名为连续数字(匹配你期望的输出格式)
final_df.columns = list(range(final_df.shape[1]))

方法二:链式列表推导(更简洁)

如果追求代码简洁性,可以用列表推导式批量生成拆分后的子DataFrame,再一次性拼接:

import pandas as pd

# 批量处理所有列并拼接
final_df = pd.concat(
    [pd.DataFrame(col.tolist()) for col in dframe.values.T],
    axis=1
)
# 重置列名
final_df.columns = list(range(final_df.shape[1]))

效果验证

执行上述代码后,你的DataFrame会被转换为期望的格式:

0   1               2               3   4               5
0   u   8.000000e+00    4.47e-01        a0  3.384351e-03    1.23e-03
1   u   8.000000e+00    4.47e-01        a0  3.384351e-03    1.23e-03
2   u   8.000000e+00    5.53e-01        a0  4.897271e-03    1.79e-03

关键逻辑说明

你之前尝试的方法只针对单列处理,而这里的核心是遍历所有列,对每一列执行tolist()转换为可拆分的结构,再通过pd.concat(axis=1)将所有拆分后的列横向拼接,最终得到合并后的结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 11:23:11