【发布时间】:2017-05-06 20:29:01
【问题描述】:
我有 2 个具有相同列的数据框:
df1 = pd.DataFrame([['Abe','1','True'],['Ben','2','True'],['Charlie','3','True']], columns=['Name','Number','Other'])
df2 = pd.DataFrame([['Derek','4','False'],['Ben','5','False'],['Erik','6','False']], columns=['Name','Number','Other'])
给出:
Name Number Other
0 Abe 1 True
1 Ben 2 True
2 Charlie 3 True
和
Name Number Other
0 Derek 4 False
1 Ben 5 False
2 Erik 6 False
我想要一个输出数据框,它是基于“名称”的两者的交集:
output_df =
Name Number Other
0 Ben 2 True
1 Ben 5 False
我已经尝试了基本的 pandas 合并,但返回是不可取的:
pd.merge(df1,df2,how='inner',on='Name') =
Name Number_x Other_x Number_y Other_y
0 Ben 2 True 5 False
这些数据帧非常大,所以我更喜欢使用一些 pandas 魔法来保持快速。
【问题讨论】: