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