两只DF,熊猫的组合

时间:2014-10-02 14:53:46

标签: python pandas dataframe

我有两个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

1 个答案:

答案 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