Python 熊猫:在具有相同值的两个不同关键点上合并

Python 熊猫:在具有相同值的两个不同关键点上合并,python,pandas,Python,Pandas,我在下面有两个数据帧: dfA = pd.DataFrame([[3,"here",34]],columns = ["comp_id","mail","mean"]) dfB = pd.DataFrame([[23,3,"there"]], columns = ["alt","name_id","serv"]) dfA dfB 我想连接

我在下面有两个数据帧:

dfA = pd.DataFrame([[3,"here",34]],columns = ["comp_id","mail","mean"])
dfB = pd.DataFrame([[23,3,"there"]], columns = ["alt","name_id","serv"])
dfA

dfB

我想连接comp_id=name_id上的两个数据帧

输出:

        mail  mean   alt     serv
 0     "here"   34    23   "there"
   mail  mean  alt   serv
0  here    34   23  there
输出不应包括comp_id或name_id

有什么建议吗?

使用“左开右开合并”:


在为第一个数据帧设置索引并从第二个数据帧中删除列后使用“合并”

dfA = dfA.set_index('comp_id')
res = dfA.merge(dfB,left_index=True,right_on='name_id').drop('name_id',axis=1)
print(res)

在合并后删除连接键:

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"
   mail  mean  alt   serv
0  here    34   23  there

这回答了你的问题吗?这不起作用,我仍然在输出中看到comp_id和name_id。输出应排除这些keys@swapnil123,您只需在merge pd.merge..[columns]之后选择感兴趣的列即可
   mail  mean  alt   serv
0  here    34   23  there