2017-10-18 35 views
0

我得到了两个数据帧,并希望通过使用国家作为索引来合并它们两个。以字符串连接两个数据帧作为索引

我dataframes(头)如下所示:

人类发展指数

  CPI-2016 Region 
Country   
New Zealand 90 AP 
Denmark  90 WE/EU 
Finland  89 WE/EU 
Sweden   88 WE/EU 
Switzerland 86 WE/EU 

腐败

   HDI-2015 
Country  
Afghanistan 0.479 
Albania 0.764 
Algeria 0.745 
Andorra 0.858 
Angola 0.533 

级联的一个:result = pandas.concat([hdi, cpi])

  CPI-2016 HDI-2015 Region 
Country   
Afghanistan NaN   0.479 NaN 
Albania  NaN   0.764 NaN 
Algeria  NaN   0.745 NaN 
Andorra  NaN   0.858 NaN 
Angola  NaN   0.533 NaN 

,最后有cpi和region的条目,但没有hdi。此外,数据中的国家数量是行数的两倍。

+0

看看在连接操作的熊猫文档中:https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.join.html –

+0

通过索引加入熊猫可能 – Rockbar

+0

忘记'axis = 1'像'result = pandas.concat([hdi,cpi],axis = 1)' – jezrael

回答

0

你可以用merge()做到这一点:

hdi.index = hdi.index.str.strip() 
pd.merge(hdi, cpi, left_index=True, right_index=True) 
+0

https://stackoverflow.com/questions/46809710/concatenate-two-data-frames-with-string-as-index#comment80567494_46809710 – jezrael

+0

谢谢@jezrael完全错过了评论:) – zipa

0

human_development_index.set_index( '国家')加入(corruption.set_index( '国家'),在= '国家')