2016-09-26 86 views
1

我有兩個數據幀df1df2取自不同的數據庫。數據框中的每個項目都由id標識。按列值加入數據幀pandas

df1 = pd.DataFrame({'id':[10,20,30,50,100,110],'cost':[100,0,300,570,400,140]}) 

df2 = pd.DataFrame({'id':[10,23,30,58,100,110],'name':['a','b','j','d','k','g']}) 

中都存在dataframes一些常見的產品,在這種情況下,那些與IDS:10,30,100,110。 我要合併在一個單一的數據幀這一信息,因爲這一個:

df3 = pd.DataFrame({'id':[10,30,100,110],'name':['a','j','k','g'],'cost':[100,300,400,140]}) 

我試圖用字典和嵌套循環做,但我處理的數據的一個相當大的量,它只是採取長這樣做。

回答

2

我認爲你可以使用merge,默認參數how='inner'是被遺漏:

print (pd.merge(df1,df2,on='id')) 
    cost id name 
0 100 10 a 
1 300 30 j 
2 400 100 k 
3 140 110 g 
+0

我沒有得到同樣的結果。我更新了這個問題。 –

+2

它看起來像打字錯誤 - double'df2'' print(pd.merge(df2,df2,on ='id'))'' – jezrael