Введение
В данном проекте проводится анализ датасета 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 артистов по числу подписчиков
Тип графика: горизонтальная столбчатая диаграмма (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. Распределение популярности треков
Тип графика: гистограмма
pop = df[«track_popularity»].dropna ()
На графике отображается форма распределения популярности треков.
Интерпретация:
Распределение асимметрично
Большинство треков имеет среднюю популярность
Значения близкие к 100 встречаются значительно реже
Используются описательные статистики: среднее и медиана.
График 3. Связь популярности артиста и трека
Тип графика: scatter plot + линейная аппроксимация Метод: корреляция Пирсона
corr = s[«artist_popularity»].corr (s[«track_popularity»])
Интерпретация:
Наблюдается положительная линейная связь
Более популярные артисты в среднем выпускают более популярные треки
Однако разброс значений остаётся значительным
Важно: корреляция не означает причинно-следственную связь.
График 4. Длительность трека и explicit-контент
Тип графика: boxplot (сравнение распределений)
g0 = tmp.loc[tmp[«explicit»] == False, «track_duration_min»] g1 = tmp.loc[tmp[«explicit»] == True, «track_duration_min»]
Интерпретация:
Explicit-треки имеют немного большую медианную длительность
Разброс длительностей у explicit-треков выше
Для повышения читаемости выбросы скрыты (showfliers=False)
График 5. Средняя популярность по году релиза
Тип графика: линейный график Метод: groupby + mean
yearly = ( df.groupby («release_year»)[«track_popularity»] .mean () .sort_index () )
Интерпретация:
Видна динамика средней популярности треков
Можно наблюдать изменения музыкального рынка со временем
График отражает общие тренды, а не отдельные хиты
Используемые статистические методы
Описательная статистика: mean, median
Корреляция Пирсона: линейная связь между признаками
Сравнение распределений: boxplot (медиана + IQR)
Groupby-агрегации: средние значения по годам
Общие выводы
В результате анализа можно сделать следующие выводы:
Популярность треков имеет асимметричное распределение
Популярность артиста положительно связана с популярностью его треков
Explicit-контент связан с немного большей длительностью треков
Средняя популярность треков меняется со временем
Проект демонстрирует возможности exploratory data analysis и визуального анализа для изучения музыкальных данных.
Возможные направления расширения
Анализ жанров (primary_genre)
Сравнение популярности по жанрам
Нормализация популярности на длительность
Анализ по типам альбомов




