Концепция

Тайлер не только популярный исполнитель, но и культурный феномен. Он символ инноваций в музыке, что делает его идеальным объектом для креативного анализа.
В своем анализе я использовала Tyler, the Creator Dataset Dataset UPDATED! CHROMAKOPIA, предоставленный сайтом kaggle.com. Датасет содержит множество параметров: названия треков, альбомы, год выпуска, популярность, эмоциональные характеристики (например, energy, valence), длительность треков и многое другое. Эти данные позволяют провести глубокий анализ. Почему именно эти виды графиков? Горизонтальные столбцы идеально подходят для сравнения категорий (в данном случае — альбомов), особенно когда названия категорий длинные. Облако слов — это отличный способ выделить ключевые темы или слова, которые часто встречаются в названиях треков. Точечная диаграмма позволяет анализировать взаимосвязь между двумя числовыми переменными (energy и valence) и группировать их по категориям (альбомам). Это наглядный способ увидеть, как эмоциональные характеристики меняются от трека к треку. Гистограмма идеально подходит для анализа распределения числовой переменной (в нашем же случае — длительности треков).
Этапы работы
Палитра для визуализации и стилизации данных была подобрана исходя из частоиспользуемых цветов в видеоклипах и творческих проектах исполнителя. В основном это оттенки красного и зеленого.

Для начала я составила код для весьма примитивного списка самых популярных альбомов. Прослушиваемость треков говорит о успешности исполнителя и отдельной гордости для каждого слушателя. Количество треков на альбоме также имеет свою значимость.
album_stats = df.groupby('album_name').agg(
avg_popularity=('popularity', 'mean'),
track_count=('track_name', 'count') sort_values(by='avg_popularity', ascending=False)
plt.figure(figsize=(12, 14))
colors = ['#8B4513', '#A0522D', '#D2B48C', '#2E8B57', '#3CB371', '#90EE90']
bars = plt.barh(
album_stats.index,
album_stats['avg_popularity'],
color=colors[:len(album_stats)],
edgecolor='black',
alpha=0.9
)
for index, value in enumerate(album_stats['avg_popularity']):
plt.text(
value + 1,
index,
f"{value:.1f} (tracks: {album_stats['track_count'][index]})", # Текст
va='center', fontsize=10, color='#333333'
)
plt.title("Популярность альбомов Тайлер, Создателя", fontsize=20, pad=20, color='#4B4B4B') plt.xlabel("Средняя популярность (0-100)", fontsize=14, color='#333333') plt.ylabel("") # Убираем подпись оси Y plt.gca().invert_yaxis() # Переворачиваем ось Y для удобства чтения plt.grid(axis='x', linestyle='--', alpha=0.7, color='#D3D3D3') # Сетка по оси X sns.despine(left=True)
plt.yticks(fontsize=12, color='#333333') plt.tight_layout() plt.show()
Теперь, когда мы знаем, что самый лучший альбом это BEST INTEREST, осталось найти самую популярную песню.
top_tracks = df.nlargest(10, 'popularity')
plt.figure(figsize=(10, 8))
colors = ['#8B4513', '#A0522D', '#D2B48C', '#F4A460', '#DEB887',
'#CD853F', '#B8860B', '#DAA520', '#F5DEB3', '#FFE4C4']
bars = plt.barh(
top_tracks['track_name'],
top_tracks['popularity'],
color=colors[:len(top_tracks)],
edgecolor='black',
alpha=0.9
)
for index, value in enumerate(top_tracks['popularity']):
plt.text(
value + 1,
index,
f"{value}",
va='center', fontsize=10, color='#333333'
)
plt.title("Топ-10 самых популярных треков", fontsize=18, pad=20, color='#4B4B4B')
plt.xlabel("Популярность (0-100)", fontsize=14, color='#333333')
plt.ylabel("")
plt.gca().invert_yaxis()
plt.grid(axis='x', linestyle='--', alpha=0.7, color='#D3D3D3')
sns.despine(left=True)
plt.yticks(fontsize=12, color='#333333')
plt.tight_layout() plt.show()
Итак песня "See You Again" в сотрудничестве с Kali Uchis стала одной из его самых популярных композиций, учитывая ее популярность в социальных сетях, результат предсказуем.
Далее мне захотелось разобраться в ключевых словах в названиях треков Тайлера, название всегда было важено для слушателей и отражало внутреннее состояние исполнителя.
import random
from wordcloud import WordCloud
all_track_names = ' '.join(df['track_name'].dropna())
wordcloud = WordCloud(
width=800,
height=400,
background_color='#F5F5DC',
colormap='copper',
max_words=100,
color_func=lambda *args, **kwargs: random.choice(['#8B4513', '#A0522D', '#D2B48C', '#2E8B57', '#FF4500'])
).generate(all_track_names)
plt.figure(figsize=(12, 6)) plt.imshow(wordcloud, interpolation='bilinear') plt.axis('off') plt.title("Ключевые слова в названиях треков", fontsize=18, pad=20, color='#4B4B4B') plt.tight_layout() plt.show()
Распределение длительности треков — это важный аспект анализа музыкального творчества, который может дать ценные инсайты о стиле, эволюции и предпочтениях артиста.
df['duration_seconds'] = df['duration'].apply(lambda x: int(x.split(':')[0]) * 60 + int(x.split(':')[1]))
plt.figure(figsize=(10, 6)) sns.histplot( df['duration_seconds'], bins=30, kde=True, color='#A0522D', edgecolor='black', alpha=0.8 )
plt.title("Распределение длительности треков", fontsize=18, pad=20, color='#4B4B4B') plt.xlabel("Длительность (секунды)", fontsize=14, color='#333333') plt.ylabel("Количество треков", fontsize=14, color='#333333') plt.grid(axis='y', linestyle='--', alpha=0.7, color='#D3D3D3') sns.despine() plt.tight_layout() plt.show()
С развитием стриминговых сервисов (например, Spotify, Apple Music) артисты начали выпускать более короткие треки, чтобы увеличить количество прослушиваний. Длительность в треках Тайлера составляет практически три минуты, что говорит нам о том, что исполнитель не ставит себе цели заработать больше прослушиваний, а просто искренне вкладывается в творчество.
Также мне бы хотелось обратить внимание на анализ эмоциональной окраски треков. Он позволяет глубже понять, как Тайлер использует музыку для передачи эмоций и создания уникального опыта для своей аудитории.
plt.figure(figsize=(12, 6))
scatter = sns.scatterplot(
x='energy',
y='valence',
data=df,
hue='album_name',
palette=['#8B4513', '#A0522D', '#D2B48C', '#2E8B57', '#FF4500'],
s=100,
alpha=0.8
)
plt.legend(
title="Альбомы",
bbox_to_anchor=(1.05, 1),
loc='upper left',
bbox_to_anchor
borderaxespad=0.0,
fontsize=10,
title_fontsize=12
)
plt.title("Эмоциональная окраска треков", fontsize=18, pad=20, color='#4B4B4B') plt.xlabel("Энергия", fontsize=14, color='#333333') plt.ylabel("Позитивность", fontsize=14, color='#333333') plt.grid(linestyle='--', alpha=0.7, color='#D3D3D3') sns.despine() plt.tight_layout() plt.show()
Вывод
В рамках данного исследования мы провели комплексный анализ данных о творчестве Tyler, The Creator, используя визуализации и статистические методы. Этот анализ позволил глубже понять его эволюцию как артиста, особенности его музыки и её влияние на слушателей.
Блокнот с кодом и дотасет
https://drive.google.com/drive/folders/14IbkKR_oYbGxlAQnM2eOgm2kRHLMPBls?usp=sharing




