Исходный размер 480x720

Анализ Spotify

Данный проект является учебной работой студента Школы дизайна или исследовательской работой преподавателя Школы дизайна. Данный проект не является коммерческим и служит образовательным целям

Введение

В данном проекте проводится анализ датасета kaggle, содержащего информацию о музыкальных треках и артистах Spotify. Цель анализа — понять, какие факторы связаны с популярностью треков, а также выявить общие закономерности в данных.

Основные исследовательские вопросы:

Как распределяется популярность треков?

Связана ли популярность артиста с популярностью его треков?

Отличается ли длительность explicit и clean-треков?

Меняется ли средняя популярность треков со временем?

2. Описание данных

2.1 Состав датасета

Датасет содержит следующие ключевые признаки:

track_popularity — популярность трека (0–100)

artist_popularity — популярность артиста (0–100)

artist_followers — количество подписчиков артиста

track_duration_min — длительность трека в минутах

explicit — наличие нецензурного контента

album_release_date — дата релиза

artist_genres — жанры артиста

2.2 Подготовка данных

Перед анализом были выполнены следующие шаги предобработки:

приведение названий колонок к snake_case

преобразование типов данных

парсинг дат релиза и извлечение года

очистка и упрощение жанров

проверка и обработка пропусков df.isna ().mean ().sort_values (ascending=False).head (10)

Визуальный стиль проекта

Для всех графиков используется единый визуальный стиль, вдохновлённый айдентикой Spotify:

Основной цвет: #1DB954 (Spotify Green)

Фон: тёмный (#0b0f0e)

Сетка: пунктирная, нейтральная

Подписи: приглушённый серый цвет

Анализ данных и визуализация

График 1. Топ-12 артистов по числу подписчиков

Исходный размер 2000x1200

Тип графика: горизонтальная столбчатая диаграмма (barh)

Для анализа были выбраны артисты с наибольшим количеством подписчиков. Для каждого артиста оставлено одно максимальное значение (drop_duplicates).

top_artists = ( df.dropna (subset=[«artist_name»,"artist_followers»]) .sort_values («artist_followers», ascending=False) .drop_duplicates («artist_name») .head (12)

Интерпретация: График позволяет наглядно сравнить лидеров Spotify по количеству подписчиков и увидеть сильную концентрацию аудитории у топ-артистов.

График 2. Распределение популярности треков

Исходный размер 2000x1200

Тип графика: гистограмма

pop = df[«track_popularity»].dropna ()

На графике отображается форма распределения популярности треков.

Интерпретация:

Распределение асимметрично

Большинство треков имеет среднюю популярность

Значения близкие к 100 встречаются значительно реже

Используются описательные статистики: среднее и медиана.

График 3. Связь популярности артиста и трека

Исходный размер 2000x1200

Тип графика: scatter plot + линейная аппроксимация Метод: корреляция Пирсона

corr = s[«artist_popularity»].corr (s[«track_popularity»])

Интерпретация:

Наблюдается положительная линейная связь

Более популярные артисты в среднем выпускают более популярные треки

Однако разброс значений остаётся значительным

Важно: корреляция не означает причинно-следственную связь.

График 4. Длительность трека и explicit-контент

Исходный размер 1700x1200

Тип графика: boxplot (сравнение распределений)

g0 = tmp.loc[tmp[«explicit»] == False, «track_duration_min»] g1 = tmp.loc[tmp[«explicit»] == True, «track_duration_min»]

Интерпретация:

Explicit-треки имеют немного большую медианную длительность

Разброс длительностей у explicit-треков выше

Для повышения читаемости выбросы скрыты (showfliers=False)

График 5. Средняя популярность по году релиза

Исходный размер 2000x1200

Тип графика: линейный график Метод: groupby + mean

yearly = ( df.groupby («release_year»)[«track_popularity»] .mean () .sort_index () )

Интерпретация:

Видна динамика средней популярности треков

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

График отражает общие тренды, а не отдельные хиты

Используемые статистические методы

Описательная статистика: mean, median

Корреляция Пирсона: линейная связь между признаками

Сравнение распределений: boxplot (медиана + IQR)

Groupby-агрегации: средние значения по годам

Общие выводы

В результате анализа можно сделать следующие выводы:

Популярность треков имеет асимметричное распределение

Популярность артиста положительно связана с популярностью его треков

Explicit-контент связан с немного большей длительностью треков

Средняя популярность треков меняется со временем

Проект демонстрирует возможности exploratory data analysis и визуального анализа для изучения музыкальных данных.

Возможные направления расширения

Анализ жанров (primary_genre)

Сравнение популярности по жанрам

Нормализация популярности на длительность

Анализ по типам альбомов

Анализ Spotify
Проект создан 29.12.2025
Мы используем файлы cookies для улучшения работы сайта НИУ ВШЭ и большего удобства его использования. Более подробную...
Показать больше