如何合并两个数据帧并处理重复数据



我有两个数据帧df1,有两列[名字]和[城市],100行df2,两列[城市]和[大陆],50行

我想在[City]列上的两个数据帧之间进行合并,以获得此结果Firstname/City/EContinent和100行(与df1相同的行(,两个数据帧中没有Comun City的剩余名称应为空

就像df2是df1的字典一样,每次我们在[City]上进行匹配时,都会从df2的[Continent]列中获取值,并将其放入df1 中

谢谢

正如注释中提到的,您应该使用merge。以下是您使用示例的方法:

df1 = pd.DataFrame({
"name": ["a1", "b1", "c1", "d1"],
"city" : ["a", "b", "c", "d"]
})
df2 = pd.DataFrame({
"city": ["a", "b", "c"],
"continent" : ["CONTINENT1", "CONTINENT2", "CONTINENT1"]
})
df1.merge(df2, on='city', how='outer') # This is what you need
df1

name  city    continent
0 a1    a       CONTINENT1
1 b1    b       CONTINENT2
2 c1    c       CONTINENT1
3 d1    d       NaN

最新更新