Исходный размер 2480x3500

Анализ данных видеоигр: Что делает игру бестселлером?

PROTECT STATUS: not protected

Почему именно видеоигры?

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

big
Исходный размер 1024x576

«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. Предобработка данных

big
Исходный размер 1306x291

2. Стилизация графиков

Параметры: figsize=(10-12,5-6), dpi=100, tight_layout ().

Исходный размер 4000x2000

Палитра

График 1: Топ-10 платформ по количеству игр

Исходный размер 989x490

Анализ графика 1

Что показывает: Сколько игр сделали для каждой консоли (PS2, Wii, Xbox и т.д.).

Что я вижу: Я вижу, что PS2 — абсолютный лидер. На неё сделали больше всего игр — больше 2000 штук! За ней идут портативные DS и мощные PS3. Wii тоже в топе, хотя Nintendo делала меньше игр, но они продавались лучше.

Почему так: PS2 была самой популярной консолью 2000-х. Разработчики бросились делать для неё игры, как на золотую жилу. Больше игр = больше шансов на хит.

Работа кода

  1. plt.figure(figsize=(10, 5)) Что делает: Создаёт пустой холст размером 10 см в ширину, 5 см в высоту. Зачем: Чтобы график не был крошечным или огромным.

  2. 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 самый высокий).

  1. plt.title(...) Что делает: Добавляет заголовок сверху графика.

  2. plt.xlabel(...) и plt.ylabel(...) Что делает: Подписи к оси X (названия платформ) и оси Y (число игр).

  3. plt.tight_layout() Что делает: Подгоняет размеры — заголовок не съезжает, подписи читаемы.

  4. plt.savefig('games1_platforms.png') Что делает: Сохраняет картинку в файл PNG (размер 10x5 дюймов).

График 2: Мировые продажи по жанрам

Исходный размер 989x490

Анализ графика 2

Что показывает: Сколько всего копий продали игр разных жанров (Action, Sports, Shooter и т.д.).

Что я вижу: Action и Sports — короли продаж! На них приходится почти половина всех денег в индустрии. За ними Platform (типа Mario) и Shooter (Call of Duty). Пазлы и стратегии почти не продаются.

Почему так: Action и спорт нравятся всем — и детям, и взрослым. Это простые и весёлые игры. Пазлы любят только умники, а их мало.

Работа кода

  1. plt.figure(figsize=(10, 5)) Что делает: Создаёт пустой холст 10 см × 5 см. Зачем: Стандартный размер для читаемости.

  2. 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млн...

  3. sales_by_genre.head(10).plot(kind='bar', color='lightgreen') Что делает: Берёт ТОП-10 жанров → рисует зелёные столбики. Результат: Action самый высокий зелёный столбик.

  4. plt.title(...) Что делает: Заголовок "Совокупные мировые продажи по жанрам".

  5. plt.xlabel('Жанр') plt.ylabel('Продажи (млн копий)') Что делает: Подписи осей.

  6. plt.xticks(rotation=45, ha='right') Что делает: Поворачивает названия жанров на 45° (читаемо).

  7. plt.tight_layout() Что делает: Подгоняет всё аккуратно.

  8. plt.savefig('games2_genre_sales.png') Что делает: Сохраняет зелёную картинку.

График 3: Сколько игр выпускали каждый год

Исходный размер 1189x490

Анализ графика 3

Что показывает: Количество новых игр с 1980-х по 2016 год.

Что я вижу: Огромный рост! В 1985 было 50 игр, а в 2009 — 1500+ игр в год! Пик в 2008-2010 годах, потом спад.

Почему так: 1985 — бум Nintendo (NES). 2008-2010 — золотой век PS3, Xbox 360, Wii + инди-игры. Потом рынок перенасытился, все перешли на мобильники.

Работа кода

  1. plt.figure(figsize=(12, 5)) Что делает: Широкий холст (12 см) для 30+ лет истории. Зачем: Горизонталь для временной линии.

  2. 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...}

  3. 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 → толстая красная линия Результат: Красная линия растёт экспоненциально!

  4. plt.grid(True, alpha=0.3) Что делает: Полупрозрачная сетка для чтения чисел.

  5. plt.savefig('games3_evolution.png') Что делает: Сохраняет временную линию.

График 4: Топ-10 игр

Анализ данных видеоигр: Что делает игру бестселлером?
Проект создан 16.01.2026
Мы используем файлы cookies для улучшения работы сайта НИУ ВШЭ и большего удобства его использования. Более подробную...
Показать больше