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

如何在Python中将嵌套DataFrame列表转为拼接后的DataFrame列表?

问题解决方法

首先纠正两个基础问题:

  • 你写的list = {[df1],[df1,df2],[df1,df2,df3]}是错误的,Python集合不能包含可变的列表元素,应该改成嵌套列表,而且别用list当变量名(会覆盖内置的list类型),比如改成df_nested_list = [[df1], [df1, df2], [df1, df2, df3]]
  • 你代码报错的原因是:循环里的n已经是每个子列表(比如第一个n就是[df1]),你却用list[n]试图用列表当索引,Python列表只接受整数/切片当索引,所以触发TypeError

正确实现代码

循环写法

import pandas as pd

df_nested_list = [[df1], [df1, df2], [df1, df2, df3]]
list1 = []
for sub_list in df_nested_list:
    # 直接把当前子列表传给pd.concat即可,不用额外套[]
    merged_df = pd.concat(sub_list)
    list1.append(merged_df)

更简洁的列表推导式写法

import pandas as pd

df_nested_list = [[df1], [df1, df2], [df1, df2, df3]]
list1 = [pd.concat(sub_list) for sub_list in df_nested_list]

执行后list1就是你要的[df_a, df_b, df_c],其中df_a是df1,df_b是df1与df2的拼接结果,df_c是三个DataFrame的拼接结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 11:20:38