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

如何在Python中按主键将DataFrame列匹配添加至另一DataFrame?

按主键匹配合并DataFrame列的解决方案

直接用pandas.merge()就能解决你的问题,insert()和add()本身就不是用来做按主键行匹配合并的工具,所以达不到效果。

步骤示例:

  1. 先导入pandas并构造示例数据
import pandas as pd

# 构造你的DataFrame A
df_a = pd.DataFrame({
    'id': ['x', 'y', 'q', 'r'],
    'name': ['a', 'b', 'c', 'd']
})

# 构造你的DataFrame B
df_b = pd.DataFrame({
    'id': ['x', 'q', 'y'],
    'department': ['quality', 'production', 'hr']
})
  1. 按主键id左合并两个DataFrame
# 左合并保留df_a的所有行,匹配不到的列用NaN填充
result_df = pd.merge(df_a, df_b, on='id', how='left')
  1. 将缺失值替换为你需要的-
result_df['department'] = result_df['department'].fillna('-')

最终结果:

idnamedepartment
xaquality
ybhr
qcproduction
rd-

参数说明:

  • on='id':指定用来匹配的主键列,确保两个DataFrame都有这一列
  • how='left':以df_a为基准,保留它的所有行;如果df_b中没有对应id的记录,department列会先填充为NaN,之后我们用fillna('-')替换成你要的符号

内容的提问来源于stack exchange,提问作者murat can Urhan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 05:19:58