在保留原始索引的同时,将其他数据框中的列添加到特定列

时间:2019-07-09 09:10:30

标签: pandas dataframe join merge concatenation

Pandas的新手,并尝试根据两个数据帧共有的一列在df2df1之间添加一列。我想保留df1中的索引。请注意,df2有很多重复的行,包括重复的ItemId。

DataFrame 1

     ItemId
0    1
1    4
2    7
3    8
DataFrame 2

0    column1    ItemId    column_to_merge
1    21984      1         apple
2    89767      1         apple
3    84595      2         pear
4    90876      4         tree
5    59876      5         cookie
6    50758      5         cookie
7    85738      7         monster
8    34980      8         kick



预期结果

DataFrame 1

     ItemId    column_to_merge
0    1         apple
1    4         tree
2    7         monster
3    8         kick

我想保留DataFrame 1的索引并将DataFrame 2的列添加到DataFrame 1。

非常感谢您的帮助。

在按照Karthik Katragadda的建议进行合并之前,我在df2中删除了重复项,因此可以在不包含重复项的情况下进行合并。

1 个答案:

答案 0 :(得分:0)

一个简单的左合并将为您完成这项工作。

尝试一下:

dataframe_1 = dataframe_1.merge(dataframe_2[['ItemId','column_to_merge']], on = 'ItemId', how = 'left')