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

Pandas两表匹配:筛选左表中地址存在于右表的全部数据行

实现方案

方案1:isin 直接筛选(性能最优,适合仅筛选的场景)

核心逻辑是先提取df2中所有目标地址,再过滤df1中地址匹配的行,代码如下:

# 提取df2中所有需要匹配的地址,先去重提升匹配效率
target_address_list = df2['Other Addresses'].unique()
# 筛选df1中Address在目标地址列表内的行,重置索引和示例输出保持一致
result = df1[df1['Address'].isin(target_address_list)].reset_index(drop=True)

如果不需要重置结果的索引,去掉.reset_index(drop=True)即可。

方案2:merge 内连接实现(适合需要关联df2其他字段的场景)

如果后续还需要用到df2里的其他字段,用内连接的方式更方便,代码如下:

result = pd.merge(
    df1,
    df2,
    left_on = 'Address',
    right_on = 'Other Addresses',
    how = 'inner'
)[df1.columns.tolist()].reset_index(drop=True)
# 末尾的[df1.columns.tolist()]是为了仅保留df1的全部字段,符合需求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 12:36:01