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

如何合并通过for循环生成并存储在列表中的多个DataFrame?

合并多个DataFrame为单个DataFrame的解决方案

核心解决方法

你已经生成了包含12个两列DataFrame的列表df_export,只需用pandas的concat()方法就能将它们按行合并成单个DataFrame:

import pandas as pd

# 合并列表中的所有DataFrame
final_df = pd.concat(df_export, ignore_index=True)
  • pd.concat()会将列表内的所有DataFrame按行堆叠,生成你需要的包含[Category, Value]两列的完整数据。
  • ignore_index=True会重置合并后DataFrame的索引,避免出现重复的索引值。

原代码优化建议

你的原代码在循环中每次都读取CSV文件,会造成不必要的IO开销,建议先一次性读取完整文件,再在循环中筛选数据:

import pandas as pd

# 一次性读取完整文件,避免重复读取
df_full = pd.read_csv(file)
df_export = []

def linear_reg_function(category):
    # 从完整数据中筛选指定类别
    df_filtered = df_full[df_full['category_column'] == category]
    # 提取需要的两列
    df1 = df_filtered[['category_column', 'value_column']]
    df_export.append(df1)

# 遍历所有类别生成子DataFrame
for category in category_list:
    linear_reg_function(category)

# 合并得到最终结果
final_df = pd.concat(df_export, ignore_index=True)

原错误说明

你之前尝试用df_export = pd.DataFrame()转换列表,这只会创建一个空的DataFrame,并不会合并列表内的已有DataFrame,所以结果为空。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 13:30:47