Почему именно видеоигры?
Что продается лучше: шутеры или спортсимы? Wii или PS2? Этот датасет — экономика гейминга в цифрах: $20+ млрд продаж, эволюция платформ, жанровые войны. Wii Sports (82 млн копий) vs нишевые инди — математика успеха Nintendo, Sony, Sega за 30 лет.

«Some characters as Graffiti»
Данные и источники
Я выбрал датасет Video Game Sales из репозитория GyaneshSamanta — 16,000+ записей об играх с 1980-х по 2010-е: Name, Platform, Year, Genre, Global_Sales (миллионы копий). Данные загружаются напрямую: https://raw.githubusercontent.com/GyaneshSamanta/VG-Sales-Data-Analysis/main/vgsales.csv
Типы графиков
Столбчатые (1,2,4): рейтинг платформ, жанров, топ-игр
Линейный (3): эволюция релизов по годам
1. Предобработка данных

2. Стилизация графиков
Параметры: figsize=(10-12,5-6), dpi=100, tight_layout ().
Палитра
График 1: Топ-10 платформ по количеству игр
Анализ графика 1
Что показывает: Сколько игр сделали для каждой консоли (PS2, Wii, Xbox и т.д.).
Что я вижу: Я вижу, что PS2 — абсолютный лидер. На неё сделали больше всего игр — больше 2000 штук! За ней идут портативные DS и мощные PS3. Wii тоже в топе, хотя Nintendo делала меньше игр, но они продавались лучше.
Почему так: PS2 была самой популярной консолью 2000-х. Разработчики бросились делать для неё игры, как на золотую жилу. Больше игр = больше шансов на хит.
Работа кода
plt.figure(figsize=(10, 5)) Что делает: Создаёт пустой холст размером 10 см в ширину, 5 см в высоту. Зачем: Чтобы график не был крошечным или огромным.
df['Platform'].value_counts().head(10).plot(kind='bar', color='skyblue') Это главная магия — 4 действия в одной строке:
df['Platform'] → Берём колонку "платформы" (PS2, Wii, DS...) .value_counts() → Считаем: PS2=2000, Wii=1200, DS=1100... .head(10) → Берём ТОП-10 (отсекаем хвост) .plot(kind='bar') → Рисуем столбчатую диаграмму color='skyblue' → Красим в голубой Результат: 10 синих столбиков (PS2 самый высокий).
plt.title(...) Что делает: Добавляет заголовок сверху графика.
plt.xlabel(...) и plt.ylabel(...) Что делает: Подписи к оси X (названия платформ) и оси Y (число игр).
plt.tight_layout() Что делает: Подгоняет размеры — заголовок не съезжает, подписи читаемы.
plt.savefig('games1_platforms.png') Что делает: Сохраняет картинку в файл PNG (размер 10x5 дюймов).
График 2: Мировые продажи по жанрам
Анализ графика 2
Что показывает: Сколько всего копий продали игр разных жанров (Action, Sports, Shooter и т.д.).
Что я вижу: Action и Sports — короли продаж! На них приходится почти половина всех денег в индустрии. За ними Platform (типа Mario) и Shooter (Call of Duty). Пазлы и стратегии почти не продаются.
Почему так: Action и спорт нравятся всем — и детям, и взрослым. Это простые и весёлые игры. Пазлы любят только умники, а их мало.
Работа кода
plt.figure(figsize=(10, 5)) Что делает: Создаёт пустой холст 10 см × 5 см. Зачем: Стандартный размер для читаемости.
sales_by_genre = df.groupby('Genre')['Global_Sales'].sum().sort_values(ascending=False) Это главная магия — 4 действия в одной строке: df.groupby('Genre') → Группируем по жанрам (Action, Sports...) ['Global_Sales'].sum() → СЧИТАЕМ ОБЩУЮ СУММУ продаж всех игр жанра .sort_values(ascending=False) → От большего к меньшему (Action №1) Результат: Action=700млн, Sports=600млн...
sales_by_genre.head(10).plot(kind='bar', color='lightgreen') Что делает: Берёт ТОП-10 жанров → рисует зелёные столбики. Результат: Action самый высокий зелёный столбик.
plt.title(...) Что делает: Заголовок "Совокупные мировые продажи по жанрам".
plt.xlabel('Жанр') plt.ylabel('Продажи (млн копий)') Что делает: Подписи осей.
plt.xticks(rotation=45, ha='right') Что делает: Поворачивает названия жанров на 45° (читаемо).
plt.tight_layout() Что делает: Подгоняет всё аккуратно.
plt.savefig('games2_genre_sales.png') Что делает: Сохраняет зелёную картинку.
График 3: Сколько игр выпускали каждый год
Анализ графика 3
Что показывает: Количество новых игр с 1980-х по 2016 год.
Что я вижу: Огромный рост! В 1985 было 50 игр, а в 2009 — 1500+ игр в год! Пик в 2008-2010 годах, потом спад.
Почему так: 1985 — бум Nintendo (NES). 2008-2010 — золотой век PS3, Xbox 360, Wii + инди-игры. Потом рынок перенасытился, все перешли на мобильники.
Работа кода
plt.figure(figsize=(12, 5)) Что делает: Широкий холст (12 см) для 30+ лет истории. Зачем: Горизонталь для временной линии.
games_per_year = df['Year'].value_counts().sort_index() Это главная магия — 3 действия: df['Year'] → Берём колонку годы (1985, 2009...) .value_counts() → Считаем: 2009=1500 игр, 1985=50 игр .sort_index() → ПО ПОРЯДКУ ГОДОВ (1985, 1986, 1987...) Результат: Словарь {1985:50, 1986:60, 2009:1500...}
plt.plot(games_per_year.index, games_per_year.values, marker='o', color='coral', linewidth=2) Что делает: index → годы на оси X (1985-2016) values → количество игр на оси Y marker='o' → кружочки на точках linewidth=2 → толстая красная линия Результат: Красная линия растёт экспоненциально!
plt.grid(True, alpha=0.3) Что делает: Полупрозрачная сетка для чтения чисел.
plt.savefig('games3_evolution.png') Что делает: Сохраняет временную линию.
График 4: Топ-10 игр










