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

Python/Pandas实现DataFrame A指定行复制到DataFrame B对应行的方法

Pandas 按行名匹配填充DataFrame空值方案

实现代码

假设存储行名(如「销售收入」)的列在两个DataFrame中均为指标名称,你可以替换为自己实际的列名:

# 步骤1:将行名列设为索引,实现自动按行名对齐
df_a = df_a.set_index("指标名称")
df_b = df_b.set_index("指标名称")

# 步骤2:用工作表A的数值填充工作表B的对应空值,自动匹配同列名单元格
df_b.update(df_a)

# 步骤3(可选):恢复原数字索引,把行名列改回普通列
df_b = df_b.reset_index()

注意事项

  • 该方法无需手动匹配行号,会自动对齐行名、列名都完全一致的单元格填充,仅覆盖df_b的空值,不会修改df_b原有已填充的内容
  • 如果你的行名已经直接存储在DataFrame的索引中(而非普通列),可直接跳过步骤1,执行df_b.update(df_a)即可
  • 若仅需填充指定列,可指定列范围操作,示例:
    # 仅填充2023、2024两列的空值
    fill_cols = ["2023年", "2024年"]
    df_b[fill_cols].update(df_a[fill_cols])
    

效果示例

工作表A(df_a)原始数据:

指标名称2023年2024年
销售收入10001200
净利润200300

工作表B(df_b)原始数据:

指标名称2023年2024年
营业成本500600
销售收入NaNNaN
净利润NaNNaN

执行代码后df_b结果:

指标名称2023年2024年
营业成本500600
销售收入10001200
净利润200300

内容的提问来源于stack exchange,提问作者Bernhard van den Ende

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 22:30:04