我有两个df,
首先是df
A B C
1 1 3
1 1 2
1 2 5
2 2 7
2 3 7
第二个df
B D
1 5
2 6
3 4
列B
在两个dfs中具有相同的含义。将列D
添加到第一个df中的相应值的最简单方法是什么?输出应该是:
A B C D
1 1 3 5
1 1 2 5
1 2 5 6
2 2 7 6
2 3 7 4
答案 0 :(得分:1)
执行“左”'在您的案例中,merge
列为' B':
In [206]:
df.merge(df1, how='left', on='B')
Out[206]:
A B C D
0 1 1 3 5
1 1 1 2 5
2 1 2 5 6
3 2 2 7 6
4 2 3 7 4
另一种方法是设置' B'在你的第二个df作为索引,然后调用map
:
In [215]:
df1 = df1.set_index('B')
df['D'] = df['B'].map(df1['D'])
df
Out[215]:
A B C D
0 1 1 3 5
1 1 1 2 5
2 1 2 5 6
3 2 2 7 6
4 2 3 7 4