表: Teacher
+-------------+------+ | Column Name | Type | +-------------+------+ | teacher_id | int | | subject_id | int | | dept_id | int | +-------------+------+ 在 SQL 中,(subject_id, dept_id) 是该表的主键。 该表中的每一行都表示带有 teacher_id 的教师在系 dept_id 中教授科目 subject_id。
查询每位老师在大学里教授的科目种类的数量。
以 任意顺序 返回结果表。
解题思路:
1.根据teacher_id 进行分组
2.对分组后的subject_id 进行去重计数(有可能同样的课程在不同的院系教授)
import pandas as pd
def count_unique_subjects(teacher: pd.DataFrame) -> pd.DataFrame:
teacher_group = teacher.groupby(['teacher_id'])['subject_id'].nunique().reset_index().rename(columns={'subject_id':'cnt'})
return teacher_group