2015-10-08 183 views
3

我有熊猫2个dataframes像行值两个数据帧如下:合并基于Python中的大熊猫

df1:         df2: 

     Column1 Column2 Column3   ColumnA ColumnB ColumnC 
    0 a  x  x   0 c  y  y 
    1 c  x  x   1 e  z  z 
    2 e  x  x   2 a  s  s 
    3 d  x  x   3 d  f  f 

我想现在要做的就是与ColumnA比较列1和追加DF2的行有在列1相同的值DF2 DF1的排在A列,这样的结果是这样的:

df1: 
    Column1 Column2 Column3 ColumnB ColumnC 
    0 a  x  x  s  s 
    1 c  x  x  y  y 
    2 e  x  x  z  z 
    3 d  x  x  f  f 

我想用大熊猫.groupby()函数,并设置列1和A作为键,比较它们,然后合并键相同的分组对象,但我合作没有找到一种有效的方式来比较2个数据帧的分组对象的键。有没有人有一个好主意如何做到这一点?

+0

你df1.merge(DF2,left_on = '列1',right_on = 'ColumnA')''后? – EdChum

+0

它的工作,谢谢!没想到那很容易...... –

回答

3

您可以指定哪些列merge的LHS和RHS DFS:

In [159]: 
df1.merge(df2, left_on='Column1', right_on='ColumnA') 

Out[159]: 
    Column1 Column2 Column3 ColumnA ColumnB ColumnC 
0  a  x  x  a  s  s 
1  c  x  x  c  y  y 
2  e  x  x  e  z  z 
3  d  x  x  d  f  f