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

如何高效按行拼接嵌套列表中的DataFrame?

高效实现嵌套DataFrame列表的按列纵向拼接

你可以利用Python内置的zip(*ls)操作转置嵌套列表,再结合列表推导式完成拼接,比两层循环更简洁高效:

实现代码

import pandas as pd

# 假设已定义df1至df9
ls = [[df1, df2, df3], [df4, df5, df6], [df7, df8, df9]]

# 核心实现:转置后逐组拼接
result = [pd.concat(group, axis=0) for group in zip(*ls)]

原理说明

  • zip(*ls)会将原二维列表转置,把原来按行排列的DataFrame转为按列分组:原列表的第1列(df1、df4、df7)会被打包成一个元组,第2列(df2、df5、df8)同理,以此类推。
  • 列表推导式遍历每个分组元组,用pd.concat(..., axis=0)完成纵向拼接,整个过程依赖Python内置的高效迭代器,比手动两层循环性能更好。

可选的numpy方式(非必要)

如果想用numpy辅助转置,也可以实现,但代码稍显冗余,性能和zip方式差异不大:

import numpy as np
import pandas as pd

arr = np.array(ls)
result = [pd.concat(col, axis=0) for col in arr.T]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 21:14:56