pandas基于列中的相同值合并数据帧

pin*_*nky 3 python dataframe pandas

我有2个数据帧如下:

   student_name student_id   
1  may          0000  
2  june         1111  
3  july         2222 

  member_id member_name school_name
1 A0        april       MIT
2 B0        may         NIT
3 C0        june        LIT
Run Code Online (Sandbox Code Playgroud)

我想加入2数据帧,以产生如下结果.

student_name student_id member_id member_name school_name
may          0000       B0        may         NIT
june         1111       C0        june        LIT
Run Code Online (Sandbox Code Playgroud)

我认为在sql方式中student_name = member_name.但我几乎无法在熊猫中做到这一点.

我已经尝试了pandas merge,它可以基于同一个名称列.你能教我一个简单的方法来得到所需的结果吗?

谢谢.

EdC*_*ica 8

使用merge并传递列以分别合并for left_paramright_param:

In [27]:
df.merge(df1, left_on='student_name', right_on='member_name')

Out[27]:
  student_name  student_id member_id member_name school_name
0          may           0        B0         may         NIT
1         june        1111        C0        june         LIT
Run Code Online (Sandbox Code Playgroud)