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

如何将多个pandas dataframe的指定列追加合并到主dataframe中

问题修复说明

你原来的代码存在两个核心错误:

  • append是行追加方法,无法实现新增列的需求,且该方法在pandas 2.0+版本已被废弃
  • df.iloc[1]取的是第二行数据,而非你需要的第二列,取第二列的正确语法是df.iloc[:, 1]

正确实现代码

自动按Col2/Col3命名新列

如果不需要保留子表第二列的原有列名,按序号自动生成新列名,可以用下面的写法:

# 初始化新列起始序号,已有Col1所以从2开始
new_col_num = 2

for file in files:
    df = pd.read_csv(file, index_col=False)
    # 校验子表行数和主表一致,避免赋值报错
    if len(df) != len(df_main):
        print(f"文件{file}行数不匹配,跳过处理")
        continue
    # 取出第二列追加到主表
    df_main[f"Col{new_col_num}"] = df.iloc[:, 1]
    new_col_num += 1

保留子表第二列原有列名

如果需要保留子表第二列的原生列名,修改赋值语句的列名即可:

for file in files:
    df = pd.read_csv(file, index_col=False)
    if len(df) != len(df_main):
        print(f"文件{file}行数不匹配,跳过处理")
        continue
    # 直接用子表第二列的原有列名作为主表新列名
    df_main[df.columns[1]] = df.iloc[:, 1]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 19:15:03