我下面有两个数据框:
dfA = pd.DataFrame([[3,"here",34]],columns = ["comp_id","mail","mean"])
dfB = pd.DataFrame([[23,3,"there"]], columns = ["alt","name_id","serv"])
dfA
comp_id mail mean
0 3 "here" 34
dfB
alt name_id serv
0 23 3 "there"
我想在comp_id = name_id上加入两个数据框
输出:
mail mean alt serv
0 "here" 34 23 "there"
输出不应包含comp_id或name_id。
关于如何执行此操作的任何建议?
答案 0 :(得分:1)
将merge
与left_on
和right_on
一起使用:
pd.merge(dfA,dfB,left_on="comp_id", right_on = "name_id", how="inner")
答案 1 :(得分:1)
在为第一个数据帧设置索引并从第二个数据帧删除列之后使用合并
dfA = dfA.set_index('comp_id')
res = dfA.merge(dfB,left_index=True,right_on='name_id').drop('name_id',axis=1)
print(res)
答案 2 :(得分:1)
在合并后将您的联接键拖放:
dfA.merge(dfB, left_on='comp_id', right_on='name_id').drop(['comp_id','name_id'], axis=1)
输出:
mail mean alt serv
0 here 34 23 there