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

Python 3.6多进程场景下将含Dataframe的列表合并为单个Dataframe

将多进程返回的DataFrame列表合并为单个DataFrame

这问题太常见了!你已经通过pool.map()并行生成了多个结构一致的DataFrame并存在Data_List里,要把它们合并成一个大的DataFrame,用pandas的pd.concat()方法就能轻松搞定,步骤如下:

具体实现步骤

  1. 确保导入pandas库
    首先得确保你的代码里已经导入了pandas:

    import pandas as pd
    
  2. 合并DataFrame列表
    直接调用pd.concat()传入你的DataFrame列表,记得加上ignore_index=True参数——它会帮你重置合并后的行索引,避免多个小DataFrame的索引重复冲突:

    # 合并列表中的所有DataFrame
    combined_df = pd.concat(Data_List, ignore_index=True)
    

    针对你给出的示例列表,合并后的combined_df会把所有小DataFrame的行堆叠在一起,最终结构是:

    DateValueSeries_Id
    1985-01-01106.92593CANEPUINDXM
    1985-02-01114.69938CANEPUINDXM
    1995-01-01192.91191CHIEPUINDXM
    1995-02-01193.98785CHIEPUINDXM
    .........

额外注意事项

  • 如果你的Data_List里可能存在空DataFrame或者None值(比如多进程任务中某些调用失败),可以先过滤掉无效项再合并:
    # 过滤掉空的或None的DataFrame
    valid_dfs = [df for df in Data_List if df is not None and not df.empty]
    combined_df = pd.concat(valid_dfs, ignore_index=True)
    
  • 如果各个小DataFrame的列名不完全一致,pd.concat()会自动将缺失的列填充为NaN,所以最好确保每个Get_Series_Data方法返回的DataFrame结构完全一致,避免出现不必要的缺失值。

内容的提问来源于stack exchange,提问作者question.it

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.12 05:10:35