Описание

В детстве я много играла в игры и смотрела мультфильмы про покемонов. Казалось, что этот мир огромен и бесконечен — ведь с каждым новым поколением появлялись всё новые и новые покемоны.
Годы спустя меня заинтересовало, как же менялись характеристики покемонов от поколения к поколению, есть ли у легендарных покемонов особые параметры и как принадлежность к разным типам влияет на их боевые способности.
На Kaggle я нашла датасет с данными по всем покемонам — их типам, поколениям и боевым характеристикам. Это дало мне отличный шанс взглянуть на знакомый мир с позиции исследователя и провести глубокий анализ.
Цель этой работы — провести комплексный анализ характеристик покемонов из разных поколений и исследовать влияние типов на боевые параметры с помощью визуализаций данных. Я хочу понять, какие закономерности и тренды скрыты в этих данных, и какие выводы можно сделать о развитии вселенной покемонов.

Для поиска датасета с характеристиками покемонов я использовала ресурс kaggle.com. На нём я нашла сборку, включающую данные о типах, базовых боевых параметрах и способностях покемонов из разных поколений. Этот датасет показался мне особенно интересным, так как позволяет проследить, как изменялись характеристики покемонов со временем и какие типы встречаются чаще всего.
Для более полного анализа я использовала следующие типы диаграмм:
— Столбчатая диаграмма — чтобы показать распределение покемонов по типам. — Тепловая карта (heatmap) — для визуализации частоты сочетаний основных и вторичных типов, а также корреляций между боевыми характеристиками. — Boxplot (ящик с усами) — для анализа распределения характеристик по поколениям. — Линейный график (line chart) — для отслеживания средних значений характеристик в каждом поколении. — Гистограмма — для анализа распределения суммарной боевой силы покемонов.
Эти визуализации помогают мне наглядно представить данные и выявить интересные закономерности: какие боевые параметры чаще всего варьируются, какие типы покемонов преобладают, а также как менялся баланс характеристик от поколения к поколению.
Стиль
Покемон — это огромная медиа-франшиза, поэтому очень сложно выделить визуальный язык, который бы отражал это аниме/игру и при этом, был удобен для визуализации данных. Так что, я попросила ChatGPT подобрать цвета по типам покемонов: Огненный — #F08030 (оранжевый) Водный — #6890F0 (синий) Травяной — #78C850 (зелёный) Электрический — #F8D030 (жёлтый) Ядовитый — #A040A0 (фиолетовый) Ледяной — #98D8D8 (голубой) Боевой — #C03028 (красный)
Графики
Столбчатая диаграмма
Перед тем как строить графики, мне нужно было определить, к какому поколению относится каждый покемон в таблице. В исходных данных этой информации не было — была только колонка с номером покемона в Покедексе (Number), а поколение напрямую из этого не следовало.
Поэтому я написала функцию, которая по номеру определяет поколение. Например, с 1 по 151 — это первое поколение, с 152 по 251 — второе, и так далее. С помощью этой функции я добавила в таблицу новую колонку Generation.
После этого я посчитала, сколько покемонов приходится на каждое поколение, и построила столбчатую диаграмму. Она показывает, в каких поколениях было больше всего новых покемонов.
График показывает количество покемонов в каждом из восьми поколений. Мы видим явное снижение количества покемонов в поздних поколениях.
Поколение 1 выделяется как самое крупное поколение, что может говорить о большей популярности и узнаваемости покемонов первого поколения.
Ящик с усами
Следующим шагом я решила проанализировать, как изменялись боевые параметры покемонов в разных поколениях. Меня интересовали такие характеристики, как:
HP (здоровье), Att (атака), Def (защита), Spa (спец. атака), Spd (спец. защита).
Для каждого параметра я построила отдельный график в виде boxplot. Он показывает, как значения распределены: где находится медиана, какие значения типичны, а какие можно считать выбросами.
Каждый график построен по поколениям: на оси X — номер поколения, на оси Y — значение характеристики. Благодаря этому можно визуально оценить, в каком поколении, например, было больше покемонов с высоким уровнем атаки или здоровья.
В целом, графики показывают, что средние значения характеристик покемонов (HP, Att, Def, SpA, SpD) относительно стабильны между поколениями, с небольшими колебаниями. Однако наблюдаются некоторые интересные различия в разбросе и наличии выбросов:
HP (Здоровье): Медианные значения HP кажутся довольно стабильными по всем поколениям. Однако 8-е поколение имеет тенденцию к большему разбросу значений HP и более высоким медианам по сравнению с предыдущими поколениями, что может указывать на появление более живучих покемонов в последних поколениях. При этом, первые поколения демонстрируют выбросы с большим количеством HP.
Att (Атака): Медианные значения атаки также относительно стабильны, но 7-ое поколение демонстрирует тенденцию к росту в сравнении с другими. При этом, поколения со второго по шестое демонстрируют схожее распределение. 1-ое поколение — минимальное.
Def (Защита): Медиана защиты для 4-ого поколения несколько выше, чем для других поколений. В то же время, общая картина показывает стабильное распределение значений защиты на протяжении всех поколений.
SpA (Спец. Атака): 7-е поколение немного выделяется более высокими значениями SpA, однако, стоит отметить, что в данном поколении также наблюдаются выбросы.
SpD (Спец. Защита): Четвертое поколение выделяется более высокими показателями SpD, в то время как в других поколениях показатели +- сравнимы.
В целом, анализ показывает, что разработчики стараются поддерживать баланс характеристик покемонов, но в каждом поколении есть свои особенности и уникальные покемоны.
Столбчатая и круговая диаграммы
На этом этапе я решила проанализировать, какие типы покемонов встречаются чаще всего. У каждого покемона есть основной тип (например, Огонь, Вода, Трава, и т.д.). Мне было интересно узнать, какие типы наиболее популярны среди всех существ в покедексе.
Для визуализации я использовала два разных графика, чтобы рассмотреть данные под разными углами:
Сначала я построила столбчатый график, на котором по оси X указаны названия типов, а по оси Y — количество покемонов каждого типа.
На графике легко увидеть, какие типы — самые распространённые, а какие — встречаются редко. Для удобства восприятия я добавила подписи над каждым столбиком с точным числом покемонов.
После этого я построила круговую (pie) диаграмму, которая показывает долю каждого типа в общем составе всех покемонов. Этот вид графика помогает интуитивно понять, какие типы преобладают, а какие занимают лишь маленькую часть.
Я также установила, чтобы круг был ровным, и добавила отображение процентов рядом с секторами, что делает диаграмму более наглядной.
Типы Вода и Нормальный являются наиболее распространенными, что, вероятно, связано с их универсальностью и использованием в базовых игровых механиках. Некоторые типы (например, Летающий) встречаются реже, что может быть связано с их спецификой и сложностью в реализации.
Распределение типов показывает, что разработчики стремятся к балансу, хотя некоторые типы более распространены, чем другие. Это может влиять на разнообразие стратегий в битвах и игровой опыт.
Диаграмма рассеяния
На этом этапе я решила посмотреть, как основной тип покемона (Type 1) может влиять на его боевые характеристики, а именно — атаку (Attack) и защиту (Defense). Это один из способов понять, есть ли зависимость между принадлежностью к типу и распределением сил покемонов.
Чтобы визуализировать это, я построила диаграмму рассеяния (scatter plot). Цвет точки зависит от основного типа покемона.
Чтобы избежать перегруженности, я выбрала только 10 самых распространённых типов. Это позволило сохранить читаемость графика, не теряя при этом смысл анализа.
В целом, наблюдается слабая положительная корреляция между атакой и защитой.
Разброс данных: Значения атаки и защиты распределены довольно широко, что указывает на разнообразие характеристик покемонов.
Наличие выбросов говорит о существовании сильных и/или специализированных покемонов.
График подтверждает, что характеристики покемонов зависят от их типа, но также подвержены индивидуальным вариациям.
Тепловая карта









