Исходный размер 1140x1600

Анализ самых популярных песен на Spotify за 2023 год

PROTECT STATUS: not protected

Описание

Меня интересует музыка, какие артисты, песни и жанры популярны, что делает их популярными, а также другие вопросы, связанные с музыкальной индустрией. Самой крупной стриминговой площадкой на сегодняшний день является сервис Spotify. На сайте Kaggle я нашел датасет, в котором представлены 954 самых популярных трека на Spotify за 2023 год. Кроме названий и исполнителей песен датасет содержит информацию об их годе выпуска, ладе, танцевальности, скорости, энергичности и других характеристиках музыки.

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

Подготовка датасета и настройка оформления

Исходный размер 1920x372

Загрузка библиотек

Исходный размер 1920x469

Был выбран шрифт ABC Social от студии Dinamo, поскольку эта студия создала фирменный вариативный шрифт, который используется в интерфейсе Spotify. Также шрифт подходит для визуализации данных, поскольку хорошо выдерживает уменьшение, придаёт лёгкость и чистоту графикам.

Исходный размер 1920x281

Код для подключения кастомного шрифта

Запросом в Chat GPT была сгенерирована палитра для визуализации, которая бы соответствовала фирменным цветам интерфейса Spotify.

Исходный размер 1920x695

В коде были настроены общие характеристики стиля и палитра диаграмм в библиотеках Seaborn и Matplotlib: тёмная тема из палитры, белые подписи, оси и другие элементы.

Исходный размер 1920x744

Код для палитры и общих характеристик оформления

Загрузка датасета, приведение названия столбцов к общему стилю (строчные буквы и подчёркивания), очищение столбца streams от пропусков и лишних символов, преобразование его значений в числовой формат и удаление строк с некорректными или отсутствующими данными, чтобы подготовить таблицу к дальнейшему анализу.

Исходный размер 1920x450

Загрузка данных, очистка пустых значений и подготовка

Количество стримов у топ-10 артистов

Исходный размер 1920x1080

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

Исходный размер 1920x930

Код для столбчатой диаграммы количества стримов

Зависимость между энергичностью и танцевальностью треков

Исходный размер 1920x1080

График рассеяния показывает связь между двумя параметрами треков, измеряемых в процентах: энергичностью (energy_%) и танцевальностью (danceability_%). Каждая точка представляет отдельный трек, её размер и цвет отражают количество стримов: чем больше и ярче точка, тем популярнее трек.

Исходный размер 1920x1022

Код для графика рассеяния Энергичность+Танцевальность

Изменение энергичности по месяцам

Исходный размер 1920x1080

На линейном графике можно увидеть, как меняется средний уровень энергичности треков в зависимости от месяца их выхода на площадку. Данные группируются по названиям месяцев и вычисляется среднее значение energy_%. Можно увидеть, что наиболее энергичные треки выходили в марте и августе, а менее энергичные в апреле и октябре. В целом, энергичность снижалась в течение года.

Исходный размер 1920x773

Код для линейного графика изменения Энергичности по месяцам

Соотношение треков по ладу

Исходный размер 1920x1080

Круговая диаграмма показывает соотношение треков в датасете по ладам Major и Minor. Cначала считается количество треков каждого музыкального лада (столбец mode), затем создаётся диаграмма с подписями и процентами. Видно что мажорных треков было больше, но не намного.

Исходный размер 1920x803

Код для круговой диаграммы соотношения по ладу

Анализ самых популярных песен на Spotify за 2023 год
Проект создан 15.07.2025
Мы используем файлы cookies для улучшения работы сайта и большего удобства его использования. Более подробную информац...
Показать больше