2017-06-26 128 views
2

我想加入两个数据框。已经尝试concat,merge和join,但我应该做错了什么。Python/Pandas - 合并两个基于非索引列的数据框

df 1: 

index cnpj country state 
1  7468  34  23 
4  3421  23  12 
7  2314  12  45 


df 2: 

index cnpj street number 
2  7468  32  34 
5  3421  18  89 
546  2314  92  73 

我希望他们用“CNPJ”作为“加入键”,维护DF1的指数合并。它应该看起来像这样:

df 1: 

index cnpj country state street number 
1  7468  34  23  32  34  
4  3421  23  12  18  89 
7  2314  12  45  92  73 

有关如何做到这一点的任何建议?

回答

2

让我们用mergesuffixesdrop

df1.merge(df2, on='cnpj',suffixes=('','_y')).drop('index_y',axis=1) 

输出:

index cnpj country state street number 
0  1 7468  34  23  32  34 
1  4 3421  23  12  18  89 
2  7 2314  12  45  92  73