# Анализ зарплат в сфере Data Science Программа анализирует статистику зарплат в сфере Data Science (уровни опыта, типы занятости, года, зарплаты) и визуализирует ключевые метрики с помощью библиотек Python. ## Технологии - **Python 3.14** - **pandas** — загрузка и обработка данных - **numpy** — математические операции - **matplotlib** — построение графиков - **seaborn** — визуализация - **tqdm** — отображение прогресса загрузки ## Процесс работы программы ### 1. Загрузка данных Программа считывает CSV-файл `data_science_job.csv`. Файл содержит данные о вакансиях в сфере Data Science со следующими столбцами: | Столбец | Описание | |---------|----------| | `work_year` | Год публикации вакансии | | `job_title` | Название должности | | `job_category` | Категория должности (Analysis, ML/AI, Engineering, Data Science) | | `salary_currency` | Валюта зарплаты | | `salary` | Зарплата в местной валюте | | `salary_in_usd` | Зарплата в долларах США (для единообразия) | | `employee_residence` | Страна проживания сотрудника | | `experience_level` | Уровень опыта (EN — начальный, MI — средний, SE — старший, EX — эксперт) | | `employment_type` | Тип занятости (FT — полный день, PT — частичная, CT — контракт, FL — фриланс) | | `work_setting` | Формат работы (Remote — удалённо, In-person — в офисе, Hybrid — гибридный) | | `company_location` | Страна расположения компании | | `company_size` | Размер компании (S — малая, M — средняя, L — крупная) | ### 2. Визуализация загрузки Используется библиотека `tqdm` для отображения прогресс-бара при обработке строк. Пользователь видит процесс обработки данных в реальном времени (одна строка прогресса). ### 3. Базовый анализ данных - Выводится информация о структуре данных (`df.info()`): - Типы столбцов - Количество непустых значений - Отображается статистика по числовым столбцам (`df.describe()`): - Среднее значение зарплаты и года - Стандартное отклонение - Минимальные и максимальные значения - Квартили (25%, 50%, 75%) - Выводится проверка пропущенных значений (`df.isnull().sum()`) - Отображаются уникальные значения в категориальных колонках ### 4. Визуализация данных #### График 1: Гистограмма распределения зарплат **Цель:** Показать, как часто встречаются разные диапазоны зарплат среди вакансий в сфере Data Science. - **Ось X:** Зарплата (в долларах США) - **Ось Y:** Количество вакансий (частота) - **Характеристики:** Синие столбцы, 30 интервалов, сглаживающая кривая KDE, сетка #### График 2: Диаграмма рассеяния (год vs зарплата) **Цель:** Выявить взаимосвязь между годом публикации вакансии и уровнем зарплаты, с цветовым кодированием по уровню опыта. - **Ось X:** Год публикации (`work_year`) - **Ось Y:** Зарплата в USD - **Точки:** Цвет зависит от уровня опыта (`experience_level`), полупрозрачные для лучшей читаемости - **Дополнительно:** Легенда вынесена за пределы графика #### График 3: Boxplot распределения зарплат по уровням опыта **Цель:** Сравнить распределение зарплат для разных уровней опыта (боксплоты позволяют увидеть медиану, квартили и выбросы). - **Ось X:** Уровень опыта (EN — начальный, MI — средний, SE — старший, EX — эксперт) - **Ось Y:** Зарплата в USD **Элементы boxplot:** - Красная линия (в цветах по умолчанию) — медиана (50% данных) - Коробка — интервал между 25% и 75% - «Усы» — нормальный диапазон значений - Точки — выбросы (аномальные зарплаты) #### Дополнительный график 4: Количество вакансий по годам **Цель:** Показать динамику количества вакансий в сфере Data Science по годам. - **Ось X:** Год - **Ось Y:** Количество вакансий - **Характеристики:** Столбчатая диаграмма с градиентной цветовой схемой ## Итог Программа позволяет: 1. Быстро загрузить и проанализировать датасет с вакансиями 2. Узнать основные статистические показатели зарплат 3. Визуально оценить распределение зарплат и их зависимость от опыта и года 4. Выявить выбросы и аномалии в данных