Концепция
Red Hot Chili Peppers — популярная американская музыкальная группа из штата Калифорния набравшая свою популярность по всему миру в 1980-1990х годах. Их творческий путь был очень тернистым и полным саморефлексии и экспериментов, что значительно отразилось и на их музыке. Мне стало интересно провести анализ их дискографии чтобы узнать как воспринимаются слушателями их песни в наше время, и какие песни привлекают большее внимание.
Источники информации: Spotify, Kworb и Red Hot Chili Peppers Official website. ChatGPT для форматирования данных.
Порядок работы
1 этап: База данных
В первую очередь необходимо было сделать базу данных в которой будет структрурирована вся информация о песнях группы: год выпуска, количество прослушиваний, название и т.д
Промт для создания базы данных:
Создай таблицу в формате excell, в которой будет собрана полная дискография группы Red Hot Chili Peppers. Таблица должна включать: названия песен, годы их выпуска, альбомы, лейбл, количество прослушивания на Spotify и продолжительность треков.
База данных включила в себя 215 треков.
Этап 2: Базовый код. Этап на котором был создан код позволяющий нам загрузить необходимые файлы для работы в последствии.
Код для загрузки таблицы с данными.
Код для загрузки шрифта для оформления графиков.
Этап 3: Коды для визуализации
Исходный промт:
Создай Python-скрипт для Google Colab для обработки баз данных. Имплементируй следующие функции: загрузку Excel-таблицы и импорт пользовательского шрифта. В качестве третьего этапа добавь код для линейной диаграммы, отображающей количество прослушиваний по альбомам. Используй цвета из прикреплённого изображения для секторов, установи белый фон, а для надписей выбери черный цвет. К запросу также прилагалась цветовая палитра и уточнения по визуальному оформлению.
Палитра взятая с сайта Coolors.
Пример для используемого шрифта. По которому был подобран шрифт на ресурсе MyFonts.
Подключили библиотеки, задали палитру и проверили, что шрифт FONT_PROP уже загружен.
Нашли в папке Excel-файл и прочитали его в pandas.
Автоматически определили колонки «альбом», «прослушивания Spotify» (и «год», если есть), привели прослушивания к числам.
Сгруппировали данные по альбомам и посчитали сумму прослушиваний для каждого альбома.
Отсортировали альбомы: по году (если год есть) или по убыванию прослушиваний.
Построили линейный график с точками, подписали оси/заголовок и отметили самый популярный альбом как TOP.
Промт: Код для линейного графика по количеству сравнивающего количество прослушиваний на каждом из альбомов.
Подключили библиотеки и проверили, что шрифт FONT_PROP уже загружен.
Нашли в папке Excel-файл и прочитали его в pandas.
Автоматически определили колонки «альбом» и «прослушивания Spotify», привели прослушивания к числам.
Пронумеровали треки внутри каждого альбома (track_no) и отсортировали альбомы по сумме прослушиваний.
Превратили данные в таблицу-матрицу: строки = альбомы, столбцы = номер трека, значения = прослушивания (pivot).
Построили тепловую карту этой матрицы и добавили подписи осей + цветовую шкалу.
Промт: Создай график тепловой карты популярности треков внутри альбомов
Подключили библиотеки, задали палитру и проверили, что шрифт FONT_PROP уже загружен.
Нашли в папке Excel-файл, прочитали его в pandas и автоматически определили колонки: альбом, прослушивания Spotify, длительность (и опционально название трека).
Преобразовали прослушивания в числа, а длительность из формата мм: сс перевели в секунды.
Очистили данные: убрали строки с пропусками/ошибками и оставили только треки с прослушиваниями > 0.
Назначили каждому альбому свой цвет (циклом по палитре), чтобы точки на графике отличались по альбомам.
Построили scatter-график: X = длительность (сек), Y = прослушивания, добавили форматирование осей, сетку и легенду по альбомам.
Промт: Создай код для точечного графика между продолжительностью песен и ее популярностью
Подключили библиотеки, задали палитру и проверили, что шрифт FONT_PROP уже загружен.
Нашли в папке Excel-файл, прочитали его в pandas и автоматически нашли колонку с прослушиваниями Spotify.
Преобразовали значения прослушиваний в числа и убрали строки, где число не получилось.
Посчитали, сколько треков строго больше 100 млн прослушиваний и сколько 100 млн или меньше.
Построили круговую диаграмму по этим двум группам, добавили проценты на сектора, заголовок и подпись с абсолютными числами.
Создай код для кругового графика с процентом части песен с количеством прослушиваний больше 100 миллионов от всех песен
В проекте я использовал ChatGPT 5.2 (https://chatgpt.com/) для структурирования данных и написания кода. Примеры промптов приведены в проекте.



