69 lines
4.6 KiB
Markdown
69 lines
4.6 KiB
Markdown
# Анализ данных игроков Clash Royale
|
||
|
||
## Описание проекта
|
||
Программа анализирует статистику игроков Clash Royale (уровни, трофеи, ранги, арены) и визуализирует ключевые метрики с помощью библиотек Python.
|
||
|
||
## Технологии
|
||
- **Python 3.x**
|
||
- **pandas** — загрузка и обработка данных
|
||
- **numpy** — математические операции
|
||
- **matplotlib** — построение графиков
|
||
- **seaborn** — визуализация
|
||
- **tqdm** — отображение прогресса загрузки
|
||
|
||
## Процесс работы программы
|
||
|
||
### 1. Загрузка данных
|
||
- Программа считывает CSV-файл `clash_royale_players.csv` (или аналогичный).
|
||
- Файл содержит данные игроков со следующими столбцами:
|
||
- **name_pais** — страна игрока
|
||
- **name** — имя игрока
|
||
- **tag** — уникальный тег
|
||
- **rank** — текущий ранг
|
||
- **expLevel** — уровень опыта
|
||
- **trophies** — количество трофеев
|
||
- **name_clan** — название клана
|
||
- **tag_clan** — тег клана
|
||
- **id_arena** — идентификатор арены
|
||
- **name_arena** — название арены
|
||
|
||
### 2. Визуализация загрузки
|
||
- Используется библиотека `tqdm` для отображения прогресс-бара при обработке строк.
|
||
- Пользователь видит процесс обработки данных в реальном времени (одна строка прогресса).
|
||
|
||
### 3. Базовый анализ данных
|
||
- Выводится информация о структуре данных (`df.info()`):
|
||
- Типы столбцов
|
||
- Количество непустых значений
|
||
- Отображается статистика по числовым столбцам (`df.describe()`):
|
||
- Среднее значение трофеев и уровня опыта
|
||
- Стандартное отклонение
|
||
- Минимальные и максимальные значения
|
||
- Квартили (25%, 50%, 75%)
|
||
- Выводится проверка пропущенных значений (`df.isnull().sum()`).
|
||
|
||
### 4. Визуализация данных
|
||
|
||
#### График 1: Гистограмма распределения трофеев
|
||
- **Цель:** Показать, как часто встречаются разные диапазоны трофеев среди игроков.
|
||
- **Ось X:** Количество трофеев.
|
||
- **Ось Y:** Количество игроков (частота).
|
||
- **Характеристики:** Синие столбцы, 30 интервалов, сглаживающая кривая KDE, сетка.
|
||
|
||
#### График 2: Диаграмма рассеяния (уровень опыта vs трофеи)
|
||
- **Цель:** Выявить взаимосвязь между уровнем опыта игрока и количеством трофеев, с цветовым кодированием по рангу.
|
||
- **Ось X:** Уровень опыта (expLevel).
|
||
- **Ось Y:** Трофеи.
|
||
- **Точки:** Цвет и размер зависят от ранга, полупрозрачные для лучшей читаемости.
|
||
- **Дополнительно:** Легенда вынесена за пределы графика.
|
||
|
||
#### График 3: Boxplot распределения трофеев по аренам
|
||
- **Цель:** Сравнить распределение трофеев на разных аренах (боксплоты позволяют увидеть медиану, квартили и выбросы).
|
||
- **Ось X:** Названия арен (упорядочены по id_arena).
|
||
- **Ось Y:** Трофеи.
|
||
- **Элементы boxplot:**
|
||
- Красная линия (в цветах по умолчанию) — медиана (50% данных)
|
||
- Коробка — интервал между 25% и 75%
|
||
- «Усы» — нормальный диапазон значений
|
||
- Точки — выбросы (аномальные значения)
|
||
- **Поворот подписей:** Названия арен повёрнуты на 45° для удобства чтения. |