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
只需选择都想要来自结果的列:'df_merged [[Country Name_x','Country Code_x','Year_x','Population',...]]'。 – DyZ
试试这个:'df_merged = pd.merge(poptransposed,gdptransposed [['CountryYear','GDP']] on ='CountryYear')' – MaxU
合并自动合并到公共列名上。应该只是poptransposed.merge(gdptransposed)。告诉我,如果我错了。我正在打电话,无法验证。 – piRSquared