Original size 1140x1600

«Игра престолов»: аналитика сражений

PROTECT STATUS: not protected

— А вам раньше приходилось проигрывать войны? — Думаешь, я стал бы тем, кто я есть, если бы проигрывал войны?

Арья Старк и Тайвин Ланнистер

Описание проекта

«Игра престолов» культовая история, которая известна каждому любителя фэнтези и сериалов. Вселенная этого произведения огромная и охватывает не один исторический период. Огромное количество имён, политически значимых локаций, названия оружия и хронологические периоды часто создают путаницу даже среди самых отчаянных знатоков вселенной. Для меня как в книгах, так и в сериале особенно привлекательным является эстетика средневекового сражения, политических игр и тенденция смены власти. Именно по этому мне было интересно провести аналитику всех сражений, которые упоминались в сериале и книге.

Цветовое решение

Мной было выбрано несколько референсов, которые вдохновили меня на дальней шее создание стилистического решения. С помощью сервиса Adobe Color я создала цветовую палитру.

big
Original size 480x276

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

Ход работы

Необходимые мне данные я нашла на сайте Kaggle.

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

Для создания графических элементов я использовала некоторые библиотеки, такие как NumPy, Pandas, Matplotlib, Seaborn

Original size 1920x1080

После того, как я прочитала выбранные данные, я проанализировала её. Просмотрела столбцы, которые присутствуют в таблице и проверила какие типы данных хранятся в DataFrame. Затем я вывела статистику числовых данных. И для более полного понимания, с чем мне предстоит работать, я проверила таблицу на наличие пропущенных данных. В ходе анализа оказалось, что в некоторых столбцах пропущено подавляющее большинство данных. Поэтому, я выбрала ряд конкретных столбцов, которые помогут мне в при дальнейшем анализе.

Original size 1920x1080

Проверка на пропущенные значения и диапазон столбцов для работы

Далее я попыталась избавиться от пропусков в столбцах для дальнейшей работы. Для этого я подставляла среднее значение столбцом. Кроме этого я заменила некоторые типы данных, чтоб облегчить их анализ.

Original size 1920x1080

Пример поиска пропусков, их замены и замены типов данных

После того, как я заменила пропуски на необходимые мне значения из таблицы, я приступила к аналитике.

Построение графиков

Я вывела пять наиболее часто встречающихся имён королей и составила столбчатую диаграмму:

- По оси X: именя королей, совершавшие атаки - Подключила сортировку для пяти самых часто встречающихся имён. - И в качестве палитры использовала свою раннее заданную гамму

Заданное ранее оформление. Код построения графика

Original size 919x473

Полученный график

Похожим образом я составила том 5 значений и столбца локации:

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

Original size 1920x1080
Original size 923x473

Далее я задала переменную most, которая содержит данные только из двух столбцов. В переменную m использовала для сортировки переменной most по убыванию и вывела топ 5 значений.

Original size 1920x1080

На основе этого я составила график, предварительно задав для оси X список с данными из столбца attacker_king, а для оси Y список с данными из столбца attacker_size.

Original size 1920x1080
Original size 876x472

По такому же алгоритму я собрала данные для армии защищающихся королей.

Назначила переменную dmost, объединив ею данные столбцов defender_king и defender_size. В переменной dm назвала отсортированный по убыванию список, из которого получила 5 часто упоминающийся имён

Original size 1920x1080
Original size 868x472

Для построения следующего графика я назначила оси:

- X: столбец attacker_king - Y: столбец battle_type

Original size 1920x1080
Original size 833x473

Чтобы составишь график победителей среди королей, я назначила переменную, которая будет обозначать отфильтрованный перечень королей. Будут отображаться только те, кто одерживал победу. Затем выбрала только два столбца: attacker_king и attacker_outcome. И считала уникальные значения для каждого имени, показывающие сколько раз оно упоминается. После этого я назначаю оси:

- X: содержит ключи из переменной w, то есть имена королей. - Y: содержит количество побед

Original size 1920x1080
Original size 845x476

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

- X: список с листом из ключей (имён победителей) - Y: количество побед

Для наглядности так же преобразовала данные в круговую диаграмму.

Original size 1920x1080
Original size 567x457
Original size 628x559

Ссылки

Обложка сгенерирована с помощью FusionBrain.ai Цветовое решение сгенерировано с помощью Adobe Color Данные для анализа найдены на сайте Kaggle Ссылка на диск с кодом и базой данных

«Игра престолов»: аналитика сражений
We use cookies to improve the operation of the HSE website and to enhance its usability. More detailed information on the use of cookies can be fou...
Show more