2015-10-28 204 views
1

我看到這是常見的問題,但我正在努力解決我的特定需求。加入兩個熊貓數據框

例如,

   Frame1   
countryName  var1 var2 var3 var4 
USA    ...  ... ... ... 
UK    ...  ... ... ... 
NZ    ...  ... ... ... 
JAP    ...  ... ... ... 
....   ...  ... ... ... 

而且到我想加盟

   Frame2 
countryName  category  value 
USA    A   1 
USA    B   2 
USA    C   3 
UK    A   4 
UK    B   5 
UK    C   6 
NZ    A   7 
NZ    B   8 
NZ    C   9 
JAP    A   10 
JAP    B   11 
JAP    C   12 

這樣的,我的結果是:

   Frame1      
countryName var1 var2 var3 var4 A B C 
USA    ...  ... ... ... 1 2 3 
UK    ...  ... ... ... 4 5 6 
NZ    ...  ... ... ... 7 8 9 
JAP    ...  ... ... ... 10 11 12 
...    ...  ... ... ... ... ... ... 
....   ...  ... ... ... ... ... ... 

感謝您的時間和幫助。

回答

3

IIUC那麼你要pivotFrame2merge這與Frame1

In [159]: 
Frame2.pivot(index='countryName',columns='category', values='value').merge(Frame1, left_index=True, right_on='countryName') 

Out[159]: 
category A B C countryName var1 var2 var3 var4 
3   10 11 12   JAP ... ... ... ... 
2   7 8 9   NZ ... ... ... ... 
1   4 5 6   UK ... ... ... ... 
0   1 2 3   USA ... ... ... ...