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

如何将含嵌套列表的Pandas Series转换为指定结构的DataFrame?

将嵌套列表结构的Pandas Series转换为指定DataFrame格式

问题场景

给定如下嵌套列表结构的Pandas Series:

import pandas as pd

s = pd.Series([
                [[1, 2], [3, 4], [5, 6]], 
                [[7, 8], [9, 10], [11, 12]],
                [[13, 14], [15, 16], [17, 18]],
                ], index=[10,20,30])

该Series输出为:

10          [[1, 2], [3, 4], [5, 6]]
20       [[7, 8], [9, 10], [11, 12]]
30    [[13, 14], [15, 16], [17, 18]]
dtype: object

需要将其转换为如下结构的DataFrame:

col1  col2  col3
10     1     3     5
10     2     4     6
20     7     9    11
20     8    10    12
30    13    15    17
30    14    16    18

解决方案

可以通过遍历Series元素并构建临时DataFrame的方式实现转换,代码如下:

import pandas as pd

s = pd.Series([
                [[1, 2], [3, 4], [5, 6]], 
                [[7, 8], [9, 10], [11, 12]],
                [[13, 14], [15, 16], [17, 18]],
                ], index=[10,20,30])

# 初始化空列表存储临时DataFrame
temp_dfs = []

# 遍历Series的每个索引和对应值
for idx, nested_list in s.items():
    # 将嵌套列表转为DataFrame并转置,得到目标行结构
    df_temp = pd.DataFrame(nested_list).T
    # 设置临时DataFrame的索引为当前Series索引,重复对应次数
    df_temp.index = [idx] * len(df_temp)
    temp_dfs.append(df_temp)

# 合并所有临时DataFrame
result_df = pd.concat(temp_dfs)
# 重命名列名
result_df.columns = [f'col{i+1}' for i in result_df.columns]

print(result_df)

运行代码后即可得到目标格式的DataFrame。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 12:50:23