Original size 608x850

Игровая статистика за январь — июль 2023 года.

PROTECT STATUS: not protected
5

Введение

На самом деле, для меня выбрать данные для этого исследования было крайне сложно. Протыкав по всем ссылкам курса, наткнулась на кучу сложной и объемной информации, вгонявшей меня в тупик. Но проведя некоторое время на сайте «Kaggle» нашла интересную тему для этого задания. «Набор данных игр Steam за 2024 год» — так называлась статистика, которая стала отправной точкой этого проекта.

Тема проекта

Итак, направление ясно. К сожалению, приспособить таблицу с данными, которые нашла, я не смогла. Все время что-то мешало. Но тема оказалась что надо. Я люблю игры, игры любят меня, и мы счастливы вместе.

В Яндексе стала искать статистику о выпущенных играх за 2023-й год, первая же ссылка на Википедию дала мне все ответы, в виде таблицы с месяцем, названием и датой выпуска игры. С этим уже можно работать.

Процесс работы

Расфасовав все данные по парам словаря, стала думать над вопросами, которые можно использовать для составления инфографики. Получилось так:

1. В какой месяц выходило больше всего игр?

2. Какое название самое длинное и сколько в нем символов? А какое самое короткое?

3. На какие платформы больше всего акцента у разработчиков?

И самое бесполезное, но то, что стало интересно лично мне в процессе обработки информации:

4. На какую букву чаще всего начинаются названия игр? (моя ставка была на английскую букву «C»)

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

Теперь, когда цели и задачи ясны, можно приступать к написанию кода.

Первый график — «В какой месяц выходило больше всего игр?»

Первым графиком стала гистограмма, отвечающая на вопросы о количестве игр в месяц, вот код, который я вывела (в том числе с помощью статей в интернете, сайта «Kaggle» и ChadGPT):

В словаре «data = {}» хранятся все нужные данные, которые здесь я оставлять не буду, иначе проект растянется еще на пару страниц, но их можно найти в прикрепленном блокноте.

import pandas as pd import matplotlib.pyplot as plt

data = {}

df = pd.DataFrame (data) df['дата_выхода'] = pd.to_datetime (df['дата_выхода'], format='%d.%m')

df_filtered = df[(df['дата_выхода'].dt.month >= 1) & (df['дата_выхода'].dt.month <= 7)]

plt.figure (figsize=(8, 6)) plt.hist (df_filtered['дата_выхода'].dt.month, bins=7, color='darkcyan', edgecolor='black', range=(1, 8)) plt.title ('Количество игр по дате выхода') plt.xlabel ('Месяц') plt.ylabel ('Количество игр') plt.xticks (range (1, 8), ['Янв', 'Фев', 'Мар', 'Апр', 'Май', 'Июн', 'Июл']) plt.tight_layout () plt.show ()

Original size 790x590

Получается, ответом на мой вопрос является месяц Февраль, как период, в который вышло аж 17 игр, не смотря даже на то, что это самый короткий месяц в году. Ну и Апрель, с таким же показателем. Самым «неурожайным» оказался Январь — что не удивительно из-за количества выходных в этом месяце.

Второй график — «Какое название самое длинное и сколько в нем символов? А какое самое короткое?»

График про количество символов в названиях игр — еще одна гистограмма.

import pandas as pd import matplotlib.pyplot as plt

data = {}

df = pd.DataFrame (data)

df['длина_названия'] = df['название_игры'].apply (lambda x: len (x)) df_sorted_by_name_length = df.sort_values ('длина_названия') plt.figure (figsize=(20, 5)) plt.bar (df_sorted_by_name_length['название_игры'], df_sorted_by_name_length['длина_названия'], color='darkcyan') plt.title ('График по длине названия игр') plt.xlabel ('Название игры') plt.ylabel ('Длина названия') plt.xticks (rotation=90) plt.grid (axis='y') plt.show ()

Original size 1616x871

Вот такая вот огромная колбаса получилась, зато очень наглядная (если получится разглядеть 77 названий конечно).

Вывод: самое длинное название у дополнений к играм — «Pathfinder: Wrath of the Righteous DLC The Last Sarkorians» — целых 58 символов. С приличным отрывом от него идет «Horizon Forbidden West: Burning Shores (DLC)» (всей маршруткой ждем на ПК) — 44 символа.

Самое короткое название — «Dredge» — всего 6 букв.

Третий график — «На какие платформы больше всего акцента у разработчиков?»

Третья (и последняя) гистограмма, показывающая использование платформ для выпуска игр.

import pandas as pd import matplotlib.pyplot as plt

data = {}

df = pd.DataFrame (data)

platform_counts = df['платформа'].value_counts () plt.figure (figsize=(15, 5)) platform_counts.plot (kind='bar', color='darkcyan') plt.title ('График по частоте использования платформ') plt.xlabel ('Платформа') plt.ylabel ('Количество игр') plt.xticks (rotation=90) plt.grid (axis='y') plt.show ()

Original size 1229x679

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

Меньше всего игр выпускается в Web-формате. Вполне вероятно, что это связано с ограничением мощности платформы.

Четвертый график — «На какую букву чаще всего начинаются названия игр?»

Самая интересная и, по совместительству, самая красивая часть этой работы — какая первая буква самая популярная у тех, кто называет игры?

import pandas as pd import matplotlib.pyplot as plt

data = {}

first_letters = [game[0].upper () for game in data['название_игры']] letter_counts = {letter: first_letters.count (letter) for letter in set (first_letters)}

labels = letter_counts.keys () sizes = letter_counts.values ()

plt.figure (figsize=(10, 8)) plt.pie (letter_counts.values (), labels=letter_counts.keys (), autopct='%1.1f%%', startangle=140, colors=['darkcyan', 'royalblue', 'lightseagreen', 'palevioletred', 'turquoise']) plt.axis ('equal') plt.title ('Частота использования первых букв в названиях игр') plt.show ()

Original size 794x658

Итак, на диаграмме отчетливо видно, что самая популярная первая буква в названии игр это… «S» английская. Частота ее использования составляет аж почти 17%. На втором месте по крутости буква «T», тоже английская. Помимо очевидного, с помощью этой диаграммы можно сделать вывод, что названия на русском языке явно не были популярны в первой половине 2023-го года.

К слову, моя ставка не оправдала себя, буква «C» наоборот оказалась одной из самых редко используемых.

Визуал

Когда я узнала о том, как Python воспринимает цвета, сразу же полезла искать все названия всех цветов, которые можно использовать. Методом проб и ошибок и, конечно же, благодаря наметанному глазу, нашла классно сочетающиеся цвета и использовала их. Но так как цвет под названием «darkcyan» покорил мое сердце, ему я уделила больше всего внимания и использовала по максимуму.

Original size 1682x1649

Использование нейросетей

Для написания кода и поиска решений, а также для создания обложки проекта я использовала нейросеть «ChadGPT» (https://ask.chadgpt.ru/).

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

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

Примеры промптов

1. Как в этом коде поменять цвета секций диаграммы? () 2. Как разделить эту диаграмму на две, одну для названий на русском, а другую для названий на английском? () 3. Нарисуй картинку состоящую полностью из телевизоров, на экранах которых разные статистические данные. 4. Придумай еще пять тем для графиков по этим данным (). 5. Напиши код для загрузки и сортировки данных про компьютерные игры (название игры, месяц ее выпуска, число месяца, и платформы, на которых выходит игра), так, чтобы к ним можно было обращаться, изменять и использовать для построения статистических диаграмм.

Ссылка на блокнот

Игровая статистика за январь — июль 2023 года.
5
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