Original size 1024x1536

Поке-анализ

PROTECT STATUS: not protected
22
big
Original size 1200x441

Логотип Покемонов

На просторах Kaggle.com я наткнулась на датасет о покемонах, в котором были представлены абсолютно все представители вселенной с первого по восьмой сезон шоу. В таблице покемоны были рассортированы по своему типу, уровню здоровья, по силе атаки и так далее. Я нашла этот материал очень забавным для анализа, и так родился этот проект.

big
Original size 4283x640

Цветовая палитра

Я решила далеко не идти и вдохновилась цветами логотипа и главных покемонов. Важно было сохранить задорность первоисточника, но оформить графики сдержанно, чтобы они легко читались.

Облако слов

Для сущей показательности я сделала облако слов, состоящее из всех возможных типов покемонов. Такой график не особо информативный, но динамичный и показывает широкую вариативность.

big
Original size 1175x448

Облако слов

big
Original size 4283x1092

Фрагмент кода

С помощью types я объединила типы покемонов из двух колонок в один список. Далее я посчитала, сколько раз каждый вид встречается в данных, используя Counter. Types_extended это список, который повторяет каждый тип столько раз, сколько он встречается в данных, а text объединяет всё в одну строку, разделенную пробелами, чтобы передать её в облако слов.

Столбчатая диаграмма

Следующий график интереснее: здесь показан уровень здоровья покемона в зависимости от его типа. Судя по нему, самыми слабыми являются покемоны-насекомые, растительные и электрические.

Original size 1229x521

Столбчатая диаграмма

Original size 4283x941

Фрагмент кода

Для создания этого графика я использовала функцию sns.barplot, заранее вызвав библиотеку seaborn. Она оптимизирует и упрощает создание такого рода визуализаций.

Диаграмма рассеяния

С помощью этого графика была выявлена зависимость атаки от защиты каждого вида покемонов. Очень важная информация для тренеров покемонов.

Original size 1493x495

Диаграмма рассеяния

Original size 4283x941

Фрагмент кода

С помощью zip (df['attack'], df['defense'], df['type1']) я объединяю значения атаки, защиты и типа покемонов в кортежи, далее создаю точечный график через plt.scatter, где x — это значение атаки, y — это значение защиты, color — это цвет точки, соответствующий типу покемона, alpha=0.5 отвечает за прозрачность точек, а label — метка для легенды. В итоге, каждая точка на графике представляет покемона, её положение определяется атакой и защитой, а цвет — типом.

Круговая диаграмма

post

Во вселенной есть особенные «легендарные» покемоны, которых очень тяжело встретить, не то что поймать и тренировать. Из практически миллиона известных поклонов к «легендарным» относятся лишь 11 процентов.

Original size 4283x366

Фрагмент кода

Используя функцию value_counts () я подсчитываю количество уникальных значений в столбце. В случае этой диаграммы — количество легендарных и нелегендарных покемонов.

Линейный график

По последнему графику можно проследить, как изменялись средние значения атаки/защиты на промежутке восьми поколений. Можно заметить, что только у покемонов второго поколения среднее значение защиты чуть превышало атаку.

Original size 1238x472

Линейный график

Original size 4283x494

Сначала с помощью df.groupby ('generation') я группирую данные по столбцу generation (поколение покемонов), потом, используя [['attack', 'defense']], выбираю столбцы attack (атака) и defense (защита) для анализа. Затем метод .mean () вычисляет средние значения атаки и защиты для каждого поколения.

Датасет и блокнот https://disk.yandex.ru/d/1eXijTY8pOf0VQ

Использование генеративных моделей

Обложку проекта я сгенерировала на платформе Recraft.ai по этому промту:

«A realistic photograph of a human hand holding a real Pokéball, the hand is centered in the composition with the palm facing up, showing the Pokéball to the camera. The background is natural but subtly blurred, with the focus on the hand and Pokéball. The image is captured in high detail, with the hand and Pokéball occupying the majority of the frame.»

Поке-анализ
22
We use cookies to improve the operation of the website and to enhance its usability. More detailed information on the use of cookies can be fo...
Show more