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

Python中合并两列:基于Country列前两位字符关联匹配

没问题,我来帮你搞定这个匹配需求!你需要的是基于Sitio和Country列的前两位字符来关联两个DataFrame,对吧?可以分两步轻松实现:

第一步:生成用于匹配的国家代码临时列

先在df_g里创建一个仅包含Country列前两位字符的临时列,这样就能和df_seg里的Country代码对应上:

# 从Country列截取前两位字符,生成匹配用的临时列
df_g['Country_Code'] = df_g['Country'].str[:2]

比如你的Country值是HN - Honduras,str[:2]会直接提取出HN,完美匹配目标格式。

第二步:基于新列完成关联匹配

用刚生成的Country_Code和Sitio作为关联键,和df_seg做左连接,最后提取Precio值赋值给Bidfloor:

# 关联两个DataFrame并提取Precio列
df_g['Bidfloor'] = df_g.merge(
    df_seg,
    left_on=['Sitio', 'Country_Code'],  # df_g的匹配键
    right_on=['Sitio', 'Country'],       # df_seg的匹配键
    how='left'                           # 保留df_g所有行
)['Precio']

可选:清理临时列

如果不需要保留Country_Code这个临时列,可以在完成匹配后删掉它:

df_g.drop('Country_Code', axis=1, inplace=True)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 08:25:12