我有两个数据框
df1=pd.DataFrame({'index':[1,2,3,4],'Name':['Andi','Boby','Charlie','Daniel'],'Occupation':['x','xxx','xxx','x']})
和
df2=pd.DataFrame({'index':[1,2,3,4],'Occupation':['x','xxx','xxx','x'],'Class':[1,0,1,0]})
基于索引,我想基于索引获取类,因此我通过合并df1和df2来创建另一个数据框。我用过
data1=df1.merge(df2,on='index',how='left')
结果是我有两列Occupation_x和Occupation_y。我如何合并数据框而没有那些Occupation_x和Occupation_y列,因此这些列将是索引,名称,职业,类
答案 0 :(得分:0)
在合并时,请指定right_on
和left_on
以避免Occupation_x和Occupation_y
答案 1 :(得分:0)
您可以仅使用df2中的索引和类来加入
data1=df1.join(df2[['Class']])
答案 2 :(得分:0)
尝试一下,在合并之前添加此行
df2.pop('Occupation') # this line needs to be added
data1=df1.merge(df2,on='index', how='left')
如果您有多个这样的列,请尝试以下方法
cols = ['Col1', 'Col2'] # Add required columns of df2 here
data1=df1.merge(df2[cols],on='index', how='left')