2017-03-08 84 views
0

我有兩個數據框我想要合併。主數據幀人口僅合併Python中的某些列

Pop: 
     Country Name Country Code Year Population CountryYear 
    0 Aruba   ABW    1960 54208.0  ABW-1960 
    1 Andorra   AND    1960 13414.0  AND-1960 

我有一個類似的表與國家GDP

GDP:

Country Name Country Code Year GDP    CountryYear 
0 Aruba   ABW    1960 0.000000e+00  ABW-1960 
1 Andorra   AND    1960 0.000000e+00  AND-1960 

我要的是有一個新的框架,聯合,有字段:

Country Name 
Country Code 
Year  
Population 
CountryYear 

從人口表及表中的相應的GDP基於CountryYear和h大道,這是唯一的列添加到它。

我試過,但我得到了重複表格:

df_merged = pd.merge(poptransposed, gdptransposed, left_on=['CountryYear'], 
       right_on=['CountryYear'], 
       how='inner') 
df_merged.head() 


    Country Name_x Country Code_x Year_x Population CountryYear Country Name_y Country Code_y Year_y GDP 
Aruba ABW 1960 54208.0 ABW-1960 Aruba ABW 1960 0.000000e+00 
Andorra AND 1960 13414.0 AND-1960 Andorra AND 1960 0.000000e+00 
+0

只需選擇都想要來自結果的列:'df_merged [[Country Name_x','Country Code_x','Year_x','Population',...]]'。 – DyZ

+0

試試這個:'df_merged = pd.merge(poptransposed,gdptransposed [['CountryYear','GDP']] on ='CountryYear')' – MaxU

+0

合併自動合併到公共列名上。應該只是poptransposed.merge(gdptransposed)。告訴我,如果我錯了。我正在打電話,無法驗證。 – piRSquared

回答