从熊猫索引中获取课程

时间:2020-09-21 07:06:50

标签: python python-3.x pandas

我有两个数据框

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列,因此这些列将是索引,名称,职业,类

3 个答案:

答案 0 :(得分:0)

在合并时,请指定right_onleft_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')