如何使用merge()函数合并人口与国家代码两个DataFrame
Pandas合并两个DataFrame的实现方案
你给出的countryCode示例中的国家名称末尾带有多余空白字符,这是合并时匹配失败的常见原因,先做预处理再合并即可,完整操作代码如下:
# 去除countryCode中国家名称列的首尾空白字符,避免匹配失败 countryCode["Country"] = countryCode["Country"].str.strip() # 按Country列做左连接合并,保留pop表所有行,匹配对应国家编码 result = pop.merge(countryCode, on="Country", how="left") # 可选操作:删除未匹配到国家编码的行,重置索引 result = result.dropna(subset=["Code"]).reset_index(drop=True)
如果你只需要保留两个表都存在的国家记录,可以把合并参数改为how="inner",就能直接得到两个表国家名称的交集结果,无需额外删除空值行。
内容的提问来源于stack exchange,提问作者Mercredi
相关产品推荐
相关产品推荐

