diff --git a/README.md b/README.md index 7829b9c..dad74fa 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,103 @@ -Освоить JupyterLab для работы с Python-кодом, анализа данных и визуализации. -Познакомиться с основами работы с pandas, numpy, matplotlib, seaborn и tqdm. -Научиться комментировать код, изменять параметры и анализировать результат. -Укрепить навыки работы с Git: вести репозиторий, фиксировать изменения, документировать процесс. \ No newline at end of file +# Анализ зарплат в сфере 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. Выявить выбросы и аномалии в данных \ No newline at end of file