Sobes.tech
Middle

Zeige die Top-3-Fähigkeiten nach durchschnittlichem Gehalt der Fachkräfte, die diese Fähigkeit besitzen (Fähigkeiten werden als durch Kommas getrennte Zeichenkette gespeichert)

sobes.tech KI

Antwort von 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 навыка по средней зарплате специалистов, владеющих ими.