Найти тему

570. Менеджеры, имеющие не менее 5 прямых подчиненных Python (средний)

Задача: Напишите решение для поиска менеджеров, имеющих не менее пяти прямых подчиненных.
Дано:

id - это первичный ключ (столбец с уникальными значениями) для этой таблицы.
Каждая строка этой таблицы указывает имя сотрудника, его отдел и идентификатор его руководителя.
Если ManagerID равен нулю, то у сотрудника нет менеджера.
Ни один сотрудник не будет сам себе менеджером.

Решение:
def find_managers(employee: pd.DataFrame) -> pd.DataFrame:

managers = employee.groupby(

'managerId', as_index=False

).agg(

reporting=('id', 'count'),

).query(

'5 <= reporting'

)['managerId']

return employee[

employee['id'].isin(managers)

][['name']]
Результат:

-2

Источник: https://leetcode.com/problems/managers-with-at-least-5-direct-reports/description/