добавление описания самостоятельного задания для файла README.md
This commit is contained in:
parent
bc70111a9c
commit
c940822225
107
README.md
107
README.md
@ -1,4 +1,103 @@
|
|||||||
Освоить JupyterLab для работы с Python-кодом, анализа данных и визуализации.
|
# Анализ зарплат в сфере Data Science
|
||||||
Познакомиться с основами работы с pandas, numpy, matplotlib, seaborn и tqdm.
|
|
||||||
Научиться комментировать код, изменять параметры и анализировать результат.
|
Программа анализирует статистику зарплат в сфере Data Science (уровни опыта, типы занятости, года, зарплаты) и визуализирует ключевые метрики с помощью библиотек Python.
|
||||||
Укрепить навыки работы с Git: вести репозиторий, фиксировать изменения, документировать процесс.
|
|
||||||
|
## Технологии
|
||||||
|
|
||||||
|
- **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. Выявить выбросы и аномалии в данных
|
||||||
Loading…
Reference in New Issue
Block a user