JuppyteerLab/README.md

103 lines
6.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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