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

合并行数不同的两个DataFrame:多列合并及匹配行保留问题

解决足球赛事数据集合并问题

核心方案:用内连接(Inner Join)实现多列匹配+保留共同记录

不管用Python Pandas还是SQL,都可以通过内连接同时解决你的两个问题——既基于多列(Match_ID+Country_ID)匹配,又只保留两个数据集都存在的Match_ID记录。


用Python Pandas处理的代码示例

假设你的两个数据集分别是df1和df2:

import pandas as pd

# 基于Match_ID和Country_ID两列做内连接
merged_df = pd.merge(
    df1, 
    df2, 
    on=['Match_ID', 'Country_ID'],  # 指定多列作为匹配键
    how='inner'  # 仅保留双方都有的记录
)
  • on=['Match_ID', 'Country_ID']:确保合并时同时校验这两个字段的一致性,避免单一Match_ID可能出现的跨国家重复问题
  • how='inner':自动过滤掉仅在其中一个数据集中出现的Match_ID,最终结果只包含两个数据集共有的赛事记录

用SQL处理的代码示例

如果你的数据存储在数据库中,可以直接执行内连接查询:

SELECT *
FROM dataset1 d1
INNER JOIN dataset2 d2
ON d1.Match_ID = d2.Match_ID AND d1.Country_ID = d2.Country_ID;

这里的AND条件就是同时匹配两列,INNER JOIN同样只返回双方都存在的记录。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 07:27:29