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

基于列值合并两个DataFrame:按关联键将df1的population并入df2

解决方法

直接用Pandas内置的merge方法即可实现双关联键合并,为了避免重复列冗余,可以先裁剪df1只保留关联键和要合并的population列,再执行左连接即可,代码如下:

import pandas as pd

# 提前裁剪df1,只保留需要的关联键和目标列,避免合并后出现重复的State列
df1_temp = df1[['countyFIPS', 'County Name', 'population']]

# 以countyFIPS和County Name为双关联键执行左连接,完整保留df2的所有行
idealdf = pd.merge(
    left=df2,
    right=df1_temp,
    on=['countyFIPS', 'County Name'],
    how='left'
)

参数说明

  • on参数传入两个列名的列表,就是指定同时匹配这两个列的值进行关联
  • how='left'是左连接逻辑,可以保证df2的所有行都被保留,就算df1中没有对应的匹配记录,也只会将population设为NaN,不会丢失df2的原有数据
  • 如果你需要更高的匹配准确性,也可以把State也加入关联键列表,写成on=['countyFIPS', 'County Name', 'State']即可

如果后续需要补全匹配失败的空值,执行idealdf['population'] = idealdf['population'].fillna(0)就可以把空值统一替换为0。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 00:54:03