Менеджеры с минимум пятью прямыми подчинёнными
employee(id, name, department, managerId), где managerId ссылается на id другого сотрудника. Верните имена менеджеров, у которых не меньше пяти прямых подчинённых.
import pandas as pd
def big_managers(employee: pd.DataFrame) -> pd.DataFrame:
# ваш код здесь
Напишите реализацию.
Считают, сколько сотрудников подчинено каждому менеджеру, затем оставляют менеджеров, прошедших порог, и находят их имена. Группируют по managerId через size(), берут индекс, где счёт >= 5, и возвращают имена сотрудников, чей id в этом множестве.
- ✗Считать размер отдела вместо подчинённых на managerId
- ✗Считать вхождения id сотрудника вместо группировки подчинённых
- ✗Приравнивать верх иерархии к наличию пяти подчинённых
- →Зачем группировать по managerId, а не по отделу?
- →Как заодно вернуть число подчинённых на менеджера?
Count reports per manager, threshold the count, then map the qualifying ids back to names.
import pandas as pd
def big_managers(employee: pd.DataFrame) -> pd.DataFrame:
counts = employee.groupby('managerId').size()
mgr_ids = counts[counts >= 5].index
return employee[employee['id'].isin(mgr_ids)][['name']]
groupby('managerId').size() counts how many employees report to each manager; filtering to >= 5 gives the manager ids of interest, and isin on id recovers their names. Grouping by department or counting id occurrences would not measure direct reports.