2016-04-28 117 views
1

我需要幫助合併2個數據幀2個索引(id或desc和year)。我試過結果= pd.concat([df1,s1],軸= 1,ignore_index = True),但我無法得到它的工作。Python數據框與多個索引合併

df1: 
     id desc year value1 
0  1 var1 2000  10 
1  1 var1 2001  15 
2  1 var1 2002  952 
3  2 var2 2000  85 
4  2 var2 2001  16 
5  2 var2 2002  12 
6  3 var3 2000  112 
7  3 var3 2001  89 

df2: 
     id desc year value2 
0  1 var1 2000  44 
1  1 var1 2001  33 
2  1 var1 2002  22 
3  2 var2 2000  11 
... 

To: 
     id desc year value1 value2 
0  1 var1 2000  10  44 
1  1 var1 2001  15  33 
2  1 var1 2002  952  22 
3  2 var2 2000  85  11 

因此,索引是id或desc和year來合併/追加新的value2到數據框。有任何想法嗎?

+0

您可以用'df1.merge(DF2,對= [ '身份證', '遞減', '年'])'和'可選如何='左'|'right'|'outer'' – MaxU

回答

0

嘗試.merge(),使用on=['col1','col2','col3']

In [24]: df1.merge(df2, on=['id','desc','year']) 
Out[24]: 
    id desc year value1 value2 
0 1 var1 2000  10  44 
1 1 var1 2001  15  33 
2 1 var1 2002  952  22 
3 2 var2 2000  85  11 
+0

謝謝!我總是錯過寫df1 = df1.mer .....所以它永遠不會改變。 – Marco