Middle
17
Вывести топ-3 навыка по средней зарплате специалистов, у которых есть этот навык (навыки хранятся в виде строки через запятую)
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
Для решения задачи нужно разбить строку навыков на отдельные элементы, сгруппировать специалистов по каждому навыку и вычислить среднюю зарплату для каждой группы. Затем отсортировать навыки по средней зарплате и вывести топ-3.
Пример на SQL (предполагается, что есть таблица employees с полями skills (строка с навыками через запятую) и salary):
WITH skill_list AS (
SELECT
TRIM(skill) AS skill,
salary
FROM employees,
UNNEST(string_to_array(skills, ',')) AS skill
)
SELECT skill, AVG(salary) AS avg_salary
FROM skill_list
GROUP BY skill
ORDER BY avg_salary DESC
LIMIT 3;
Если используется Python и pandas, то можно сделать так:
import pandas as pd
data = pd.DataFrame({
'skills': ['Python,SQL,ML', 'Java,SQL', 'Python,ML', 'C++,Python'],
'salary': [100000, 90000, 110000, 95000]
})
# Разбиваем навыки и создаем новую таблицу
skills_expanded = data.assign(skill=data['skills'].str.split(',')).explode('skill')
skills_expanded['skill'] = skills_expanded['skill'].str.strip()
# Группируем и считаем среднюю зарплату
result = skills_expanded.groupby('skill')['salary'].mean().sort_values(ascending=False).head(3)
print(result)
Таким образом можно получить топ-3 навыка по средней зарплате специалистов, владеющих ими.