基于列中相同的值合并 Pandas 数据框。

3

i have 2 dataframe as below:

   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

我希望以某种方式将两个数据框联接起来,以产生以下结果。
student_name student_id member_id member_name school_name
may          0000       B0        may         NIT
june         1111       C0        june        LIT

我想以SQL的方式进行查询,即根据学生姓名查询成员姓名。但是在pandas中却很难实现。

我已经尝试了pandas的合并操作,可以基于相同的名称列进行合并。您能教我一个简单的方法来得到需要的结果吗?

谢谢。

1个回答

9
使用merge函数,并将要合并的列作为参数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

如果我只需要学校名称列,应该怎么做呢? 我正在谷歌搜索有关Pandas合并的详细信息,但如果您能再给我一些启示就更好了。谢谢。 学生姓名 学生ID 学校名称 - pinky
只需从合并的数据框中进行子选择:merged['student_name','student_id','school_name'] - EdChum

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接