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

如何从嵌套元组列表生成含4列的Pandas DataFrame

解决嵌套元组列表转4列DataFrame的问题

嘿,别担心,这个问题其实挺容易搞定的!咱们先理清楚现状:你现在的嵌套元组列表直接用pd.DataFrame()转换的话,每个子元组会被当成一列的值,所以得到的是2列,但你需要把每个嵌套元组里的所有元素都拆成单独的列,也就是4列。

首先看你的原始数据:

tup = [((1,1),(1,2)),((2,1),(2,2))]

方法一:先扁平化每行的元素

咱们可以用列表推导式把每个嵌套元组展开成包含4个元素的列表,再转成DataFrame:

import pandas as pd

tup = [((1,1),(1,2)),((2,1),(2,2))]
# 遍历每个子元组,把两个内部元组的元素合并成一个列表
flattened_rows = [list(item[0]) + list(item[1]) for item in tup]
# 转换为DataFrame
df = pd.DataFrame(flattened_rows)

运行后你就能得到想要的结果:

0  1  2  3
0  1  1  1  2
1  2  1  2  2

方法二:用DataFrame的apply方法快速转换

如果你想直接基于原始的2列DataFrame来处理,也可以用apply结合pd.Series来展开:

import pandas as pd

tup = [((1,1),(1,2)),((2,1),(2,2))]
# 先转成2列的DataFrame,再对每行合并元组并展开
df = pd.DataFrame(tup).apply(lambda row: pd.Series(row[0] + row[1]), axis=1)

这个方法会把每行的两个元组合并成一个包含4个元素的元组,再转成Series,自动扩展成4列,结果和上面完全一致。

两种方法都能达到你的需求,选哪个顺手就用哪个~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 04:00:32