【发布时间】:2019-07-15 00:27:16
【问题描述】:
我有两个数据框
df1
Srlno id image
1 3 image1.jpg
2 3 image2.jpg
3 3 image2.jpg
df2
Srlno id image
1 1 image1.jpg
2 2 image2.jpg
3 3 image3.jpg
我想根据列 Image 匹配两个数据框,并将 df2 中的 Id 作为新列返回到 df1。 df2 中的图像名称是唯一的,而 df1 中的图像名称有很多重复项。我想保留重复的图像名称,但为 df2 中的每个图像填写正确的 id。
预期的输出是:
Srlno id image newids
1 3 image1.jpg 1
2 3 image2.jpg 2
3 3 image2.jpg 2
我试过了
df1['newids'] = df1['image'].map(df2.set_index('image')['id'])
这会返回一个错误 InvalidInvexError('Reindexing only valid with uniquely valued index objects') 我知道 df1 中的重复项正在创建此错误...但不知道如何解决。
【问题讨论】: