Введение
На самом деле, для меня выбрать данные для этого исследования было крайне сложно. Протыкав по всем ссылкам курса, наткнулась на кучу сложной и объемной информации, вгонявшей меня в тупик. Но проведя некоторое время на сайте «Kaggle» нашла интересную тему для этого задания. «Набор данных игр Steam за 2024 год» — так называлась статистика, которая стала отправной точкой этого проекта.
Тема проекта
Итак, направление ясно. К сожалению, приспособить таблицу с данными, которые нашла, я не смогла. Все время что-то мешало. Но тема оказалась что надо. Я люблю игры, игры любят меня, и мы счастливы вместе.
В Яндексе стала искать статистику о выпущенных играх за 2023-й год, первая же ссылка на Википедию дала мне все ответы, в виде таблицы с месяцем, названием и датой выпуска игры. С этим уже можно работать.
Процесс работы
Расфасовав все данные по парам словаря, стала думать над вопросами, которые можно использовать для составления инфографики. Получилось так:
В какой месяц выходило больше всего игр?
Какое название самое длинное и сколько в нем символов? А какое самое короткое?
На какие платформы больше всего акцента у разработчиков?
И самое бесполезное, но то, что стало интересно лично мне в процессе обработки информации:
- На какую букву чаще всего начинаются названия игр? (моя ставка была на английскую букву «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 ()
Получается, ответом на мой вопрос является месяц Февраль, как период, в который вышло аж 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 ()
Вот такая вот огромная колбаса получилась, зато очень наглядная (если получится разглядеть 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 ()
Получается, на один только 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 ()
Итак, на диаграмме отчетливо видно, что самая популярная первая буква в названии игр это… «S» английская. Частота ее использования составляет аж почти 17%. На втором месте по крутости буква «T», тоже английская. Помимо очевидного, с помощью этой диаграммы можно сделать вывод, что названия на русском языке явно не были популярны в первой половине 2023-го года.
К слову, моя ставка не оправдала себя, буква «C» наоборот оказалась одной из самых редко используемых.
Визуал
Когда я узнала о том, как Python воспринимает цвета, сразу же полезла искать все названия всех цветов, которые можно использовать. Методом проб и ошибок и, конечно же, благодаря наметанному глазу, нашла классно сочетающиеся цвета и использовала их. Но так как цвет под названием «darkcyan» покорил мое сердце, ему я уделила больше всего внимания и использовала по максимуму.
Изображение: CatherineAsquithgallery.com / https://catherineasquithgallery.com/korichnevye-fony/14379-cvet-teksta-na-korichnevom-fone-102-foto.html
Использование нейросетей
Для написания кода и поиска решений, а также для создания обложки проекта я использовала нейросеть «ChadGPT» (https://ask.chadgpt.ru/).
Например, я спрашивала у него, какие данные можно проанализировать, или какие еще вопросы для построения диаграмм он может предложить. И хотя именно на эти вопросы его ответы меня не удовлетворили, они дали толчок для полета фантазии и в итоге помогли мне прийти к тому результату, который есть сейчас.
Ну и конечно же ему приходилось постоянно править мой код, с чем он справлялся гораздо лучше, помогая мне и со сложными вопросами, и с тем, как, например, написать под графиком все месяцы по порядку.
Примеры промптов
- Как в этом коде поменять цвета секций диаграммы? ()
- Как разделить эту диаграмму на две, одну для названий на русском, а другую для названий на английском? ()
- Нарисуй картинку состоящую полностью из телевизоров, на экранах которых разные статистические данные.
- Придумай еще пять тем для графиков по этим данным ().
- Напиши код для загрузки и сортировки данных про компьютерные игры (название игры, месяц ее выпуска, число месяца, и платформы, на которых выходит игра), так, чтобы к ним можно было обращаться, изменять и использовать для построения статистических диаграмм.
Ссылка на блокнот




