表: Courses
+-------------+---------+ | Column Name | Type | +-------------+---------+ | student | varchar | | class | varchar | +-------------+---------+ 在 SQL 中,(student, class)是该表的主键列。 该表的每一行表示学生的名字和他们注册的班级。
查询 至少有5个学生 的所有班级。
以 任意顺序 返回结果表。
解题思路:
1.根据class进行分组
2.对每组元素进行计数cnt
3.筛出cnt>=5的class
import pandas as pd
def find_classes(courses: pd.DataFrame) -> pd.DataFrame:
courses['cnt'] = courses.groupby('class')['student'].transform('count')
courses = courses[courses['cnt'] >= 5][['class']].drop_duplicates()
return courses