Python 如何将具有重复索引项的数据帧与具有唯一索引项的数据帧合并?
我有两个数据帧 其中一个数据帧有一个重复的索引,我想将它们与另一个数据帧连接起来,但在另一个数据帧中情况并非如此。比如说 数据帧I=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
[ 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)