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

如何将任意长度嵌套列表转换为Pandas DataFrame列格式?

解决方案

核心思路

先统一拆解所有输入列表,把所有最底层的一维数值列表提取出来,再将这些列表作为单独列传入Pandas构造DataFrame。这种方法完全适配二维列表中子列表数量的任意变化。

代码实现

先准备你的输入数据:

import pandas as pd

l1 = [1,2,3,4]
l2 = [[5,6,7,8],
      [9,10,11,12]]
l3 = [[13,14,15,16],
      [17,18,19,20]]

写一个通用的拆解函数,自动识别并处理一维/二维列表:

def flatten_lists(input_list):
    # 如果是二维列表,直接返回所有子列表;如果是一维列表,包装成列表的列表统一格式
    if isinstance(input_list[0], list):
        return input_list
    else:
        return [input_list]

把所有需要处理的列表放到一个容器里,逐个拆解收集所有子列表:

all_lists = [l1, l2, l3]
columns = []
for lst in all_lists:
    columns.extend(flatten_lists(lst))

最后转成DataFrame,自动生成列名:

df = pd.DataFrame({f'col_{i+1}': col for i, col in enumerate(columns)})
print(df)

输出结果

运行后会得到符合需求的DataFrame:

col_1  col_2  col_3  col_4  col_5
0      1      5      9     13     17
1      2      6     10     14     18
2      3      7     11     15     19
3      4      8     12     16     20

适配性说明

  • 不管l2、l3这类二维列表里有多少个子列表,拆解函数都会把它们全部拆出来作为单独的列
  • 后续新增同类列表(比如l4是包含3个子列表的二维列表),只需要把l4加到all_lists里即可,无需修改其他代码

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 08:40:01