Почему именно видеоигры?
Что продается лучше: шутеры или спортсимы? 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 (размер 10×5 дюймов).
График 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 игр
Анализ графика 4
Что показывает: Какие игры купили больше всего людей в мире.
Что я вижу: Wii Sports — № 1 с 82 миллионами копий! Дальше Mario, GTA, Tetris, Minecraft. Все эти игры простые и для всех возрастов.
Почему так: Wii Sports шла в комплекте с Wii и нравилась бабушкам. Mario — вечная классика Nintendo. GTA — для взрослых. Успех = простота × бренд.
Работа кода
plt.figure (figsize=(10, 6)) Что делает: Холст повыше (6 см) для длинных названий игр.
top_games = df.nlargest (10, 'Global_Sales')[['Name', 'Global_Sales']] Это главная магия — 2 действия: df.nlargest (10, 'Global_Sales') → ТОП-10 по продажам (Wii Sports № 1) [['Name', 'Global_Sales']] → Берём только название + продажи Результат: Таблица Wii Sports=82млн, Mario=40млн…
plt.barh (top_games['Name'], top_games['Global_Sales'], color='gold') Что делает: barh → ГОРИЗОНТАЛЬНЫЕ золотые столбики top_games['Name'] → названия на оси Y top_games['Global_Sales'] → длина столбиков Результат: Wii Sports — самый длинный золотой столбик.
plt.gca ().invert_yaxis () Что делает: Переворачивает ось Y → № 1 (Wii Sports) сверху.
plt.savefig ('games4_top_games.png') Что делает: Сохраняет топ-10 золотую картинку.
Главный вывод для меня
Если я делаю игру в 2025 году:
✅ Делать для PS2-подобной платформы (много пользователей)
✅ Жанр Action или Sports (продастся всем)
✅ Релиз в пик консольного поколения (2008-2010 стиль)
✅ Простая как Wii Sports (бабушка должна играть)
10% игр приносят 80% денег. Я понял: лучше одна простая хитом, чем 10 сложных флопов.
Материалы
Полный код: Google Colab Game Sales Analysis Датасет: 16k игр (URL выше)
Модели: DeepSeek Coder — код (25%) Perplexity AI — анализ (70%) Авторский вклад: 75% кода, структура, игровая интерпретация.



