Python 如何将具有重复索引项的数据帧与具有唯一索引项的数据帧合并?

Python 如何将具有重复索引项的数据帧与具有唯一索引项的数据帧合并?,python,pandas,dataframe,stata,Python,Pandas,Dataframe,Stata,我有两个数据帧 其中一个数据帧有一个重复的索引,我想将它们与另一个数据帧连接起来,但在另一个数据帧中情况并非如此。比如说 数据帧I= [ index column1] leb Lebanon iso iso1 CAN Canda 数据帧I2= [ index column1] leb ra CAN ba CAN gell 我想把它们合并成这样 数据帧Itot= DataFrame I2= [ index

我有两个数据帧

其中一个数据帧有一个重复的索引,我想将它们与另一个数据帧连接起来,但在另一个数据帧中情况并非如此。比如说

数据帧I=

[ index  column1]
leb       Lebanon
iso        iso1
CAN         Canda
数据帧I2=

[ index  column1]
leb       ra
CAN        ba
CAN         gell
我想把它们合并成这样

数据帧Itot=

DataFrame I2=
[ index  column1     column2]
leb       ra          Lebanon
CAN        ba           Canada
CAN         gell       canada
这是Stata中的多对一合并,如中所示
p、 七,

考虑这个数据帧

  df = pd.DataFrame({'Year': [2010,2009,2008],
                       'population_A': ['101597.0', '101416.0', '101342.0'], 
                       'Country':['Aruba', 'Aruba', 'Aruba']})

    df = df.set_index(['Country'])
    df
考虑另一个非重复数据帧

df1 = pd.DataFrame({'Country':['Aruba','Afghanistan','Africa','Lebanon'], 'iso3c':['ABW','AFG','AFR','LEB']})
df1 = df1.set_index(['Country'])
df1
为此,我们需要第一个数据帧具有不同于国家的索引,比如id 0,1,2

df.reset_index(level=0, inplace=True)
df
df.join(df1, on='Country')

就是这样

我相信熊猫中的默认合并是多对一的。您只需按索引合并即可。这会给你你想要的
df1=pd.DataFrame([“黎巴嫩”、“iso1”、“坎达”]、columns=[“column1”]、index=[“leb”、“iso”、“CAN”])
df2=pd.DataFrame([“ra”、“ba”、“gel1”]、columns=[“column2”]、index=[“leb”、“CAN”、“CAN”])pd.merge(df1、df2、right\u index=True、left\u index=True)