103 lines
6.2 KiB
Markdown
103 lines
6.2 KiB
Markdown
# Анализ зарплат в сфере 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. Выявить выбросы и аномалии в данных |