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

如何展开Pandas DataFrame嵌套列表并转为多列结构?

嵌套列表展开为多列DataFrame的实现方法

核心操作步骤

  • 提取内层一维列表:原数据每行是双层嵌套列表([[...]]),先取出内层的一维列表
  • 转换为多列结构:将一维列表批量转换为新的DataFrame,每个列表元素对应一列
  • (可选)重命名列名:给列设置更直观的命名格式

代码实现

import pandas as pd

# 假设你的原始DataFrame名为df,存储嵌套列表的列名为'data'
# 第一步:提取内层的一维列表
df['flattened_data'] = df['data'].str[0]

# 第二步:将一维列表转换为多列DataFrame
expanded_df = pd.DataFrame(df['flattened_data'].tolist())

# 第三步(可选):给列重命名,比如用col_0、col_1...的格式
expanded_df.columns = [f'col_{idx}' for idx in expanded_df.columns]

示例验证

用模拟数据测试整个流程:

# 模拟原始数据
sample_data = {
    'data': [
        [[-127, -162, -197]],
        [[128, 157, 189, 226]],
        [[56, 73, 85]],
        [[519, 619, 723, 827, 914]],
        [[-188, -239, -274]],
        [[-266, -316, -367, -407]],
        [[21, 22, 24, 26, 28]]
    ]
}
df = pd.DataFrame(sample_data)

# 执行展开操作
df['flattened_data'] = df['data'].str[0]
expanded_df = pd.DataFrame(df['flattened_data'].tolist())
expanded_df.columns = [f'col_{idx}' for idx in expanded_df.columns]

print(expanded_df)

输出结果:

col_0  col_1  col_2  col_3  col_4
0   -127   -162   -197    NaN    NaN
1    128    157    189    226    NaN
2     56     73     85    NaN    NaN
3    519    619    723    827    914
4   -188   -239   -274    NaN    NaN
5   -266   -316   -367   -407    NaN
6     21     22     24     26     28

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 14:10:20