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

如何使用reduce函数合并多个dataframe并按原表名重命名列

合并多DataFrame并按来源加后缀的实现方法
  • 依赖环境:Python + pandas库
  • 实现代码:
import pandas as pd
from functools import reduce

# 1. 配置月份DataFrame与对应后缀的映射,可按实际需求调整后缀命名
df_suffix_map = {
    "_jul": july_df,
    "_aug": aug_df,
    "_sep": sep_df,
    "_oct": oct_df,
    "_nov": nov_df,
    "_dec": dec_df,
    "_jan": jan_df,
    "_feb": feb_df,
    "_mar": mar_df,
    "_apr": apr_df,
    "_may": may_df,
    "_jun": june_df
}

processed_df_list = []
for suffix, df in df_suffix_map.items():
    temp_df = df.copy()
    # 仅给非关联键的列添加对应来源后缀,避免修改关联键字段名
    temp_df.columns = ["MINISTRY"] + [f"{col}{suffix}" for col in temp_df.columns if col != "MINISTRY"]
    processed_df_list.append(temp_df)

# 2. 按MINISTRY字段关联合并所有处理后的表
# *如果不需要保留所有出现过的MINISTRY值,可将how参数改为'inner'使用内连接
merged_result = reduce(lambda left, right: pd.merge(left, right, on="MINISTRY", how="outer"), processed_df_list)
  • 输出效果:最终得到的merged_result列结构和你给出的示例完全匹配,首列为关联键MINISTRY,后续所有指标列均按来源表添加对应月份后缀。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.16 17:36:04