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

如何合并两个DataFrame且仅保留id列匹配的行?

解决方法

你之前合并后保留全部id,是因为没有指定正确的连接模式,只需要显式设置pd.merge的how参数为inner即可,内连接模式会仅保留两个表中合并键完全匹配的行,刚好符合你的需求。


完整可运行代码示例

import pandas as pd

# 构造第一个DataFrame
df1 = pd.DataFrame({
    "id": ["a1", "a2", "a3"],
    "value": [12, 15, 17]
})

# 构造第二个DataFrame
df2 = pd.DataFrame({
    "id": ["a1", "a2", "a7"],
    "value1": [22, 58, 10]
})

# 按id列执行内连接合并
merge_result = pd.merge(df1, df2, on="id", how="inner")

运行后merge_result的输出完全匹配你的预期结果:

idvaluevalue1
a11222
a21558

参数说明

  • on="id":指定两个表共同的合并基准为id列
  • how="inner":设置合并模式为内连接,仅保留两个表中id完全一致的行。该参数是pd.merge的默认值,显式标注可以避免环境默认配置异常导致的错误

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 12:15:05