Original size 736x981

Анализ творчества Лены Дель Рей

PROTECT STATUS: not protected
11

Введение

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

Почему Лана Дель Рей? Люблю её!

God is a woman.

big
Original size 600x600

Данные я нашла в свободном доступе на kaggle: https://www.kaggle.com/datasets/madroscla/lana-del-rey-genius-discography-released/data

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

Этапы работы

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

Первое, что я захотела узнать — это самую популярную песню. Результат меня не удивил, потому что композиция «Young and Beautiful» действительно легендарная.

top_songs = df[['song_title', 'song_page_views']].sort_values (by='song_page_views', ascending=False).head (10)

plt.figure (figsize=(10, 6)) sns.barplot (x=top_songs['song_page_views'], y=top_songs['song_title'], palette='pastel') plt.title ('Топ-10 самых популярных песен', fontsize=16) plt.xlabel ('Количество просмотров', fontsize=12) plt.ylabel ('Песня', fontsize=12) plt.grid (axis='x', linestyle='--', alpha=0.7) plt.show ()

Original size 2198x1106

Так как Лана в индустрии уже многие годы, мне стало интересно, в какой год она была наиболее продуктивна. Из гистограммы я выяснила, что это 2021 год.

df['song_release_date'] = pd.to_datetime (df['song_release_date'])

yearly_releases = df['song_release_date'].dt.year.value_counts ().sort_index ()

import matplotlib.pyplot as plt import seaborn as sns

plt.figure (figsize=(10, 6)) sns.barplot (x=yearly_releases.index, y=yearly_releases.values, palette='pastel') # Изменение палитры на 'pastel' plt.title ('Количество релизов по годам', fontsize=16) plt.xlabel ('Год', fontsize=12) plt.ylabel ('Количество релизов', fontsize=12) plt.xticks (rotation=45) plt.grid (axis='y', linestyle='--', alpha=0.7) plt.show ()

Original size 1884x1126

Опять же, благодаря тому, что Лана известна уже очень давно и, как по мне, не теряет свою актуальность и популярность, мне стало любопытно, в какой год она «взлетела», опираясь на количество просмотров.

yearly_views = df.groupby (df['song_release_date'].dt.year)['song_page_views'].sum ()

plt.figure (figsize=(10, 6)) sns.scatterplot ( x=yearly_views.index, y=yearly_views.values, s=100, color=sns.color_palette ('pastel')[0] ) plt.title ('Просмотры страницы песни на Genius по годам', fontsize=16) plt.xlabel ('Год', fontsize=12) plt.ylabel ('Общее количество просмотров', fontsize=12) plt.grid (axis='y', linestyle='--', alpha=0.7) plt.xticks (rotation=45) plt.show ()

Original size 1848x1158

Тексты — сильная сторона исполнительницы, поэтому узнать, какие слова чаще всего встречаются в ее произведениях, мне стало очень интересно. Изначально у меня не было фильтрации, и я получила в основном предлоги (and, in, out), меня это не устроило, и я поставила условие, чтобы слова состояли из 4 и более букв, таким образом, у меня получился достаточно описывающий музыку Ланы набор слов.

import re from collections import Counter import matplotlib.pyplot as plt import seaborn as sns

all_lyrics = ' '.join (df['song_lyrics'].apply (lambda x: ' '.join (eval (x)))) cleaned_lyrics = re.sub (r'[^\w\s]', '', all_lyrics).lower () words = cleaned_lyrics.split () filtered_words = [word for word in words if len (word) >= 4] word_counts = Counter (filtered_words) top_words = word_counts.most_common (5) labels = [word for word, _ in top_words] counts = [count for _, count in top_words]

plt.figure (figsize=(10, 6)) sns.barplot ( x=counts, y=labels, palette='pastel' ) plt.title ('Топ-5 самых часто встречающихся слов в песнях Ланы Дель Рей', fontsize=16) plt.xlabel ('Частота', fontsize=12) plt.ylabel ('Слово', fontsize=12) plt.grid (axis='x', linestyle='--', alpha=0.7) plt.show ()

Original size 1810x1090

Последнее, что я хотела узнать — это самые популярные жанры, в которых исполняет Лана. В круговой диаграмме я решила немного изменить оформление — с пастельных цветов на золотое, так как музыка Ланы у меня ассоциируется и с золотым тоже.

Original size 640x631

from collections import Counter all_tags = [tag for tags in df['song_tags'] for tag in eval (tags)] # Преобразуем строку в список genre_counts = Counter (tag for tag in all_tags if tag not in ['In English', 'USA'])

top_genres = genre_counts.most_common (3) labels = [genre for genre, _ in top_genres] sizes = [count for _, count in top_genres] gold_palette = ['#FFD700', '#FFC000', '#E6B800'] plt.figure (figsize=(8, 8)) plt.pie ( sizes, labels=labels, autopct='%1.1f%%', startangle=90, colors=gold_palette ) plt.title ('Топ-3 жанра песен Ланы Дель Рей', fontsize=16) plt.show ()

Original size 1274x1204

Вывод

Благодаря программированию и визуализации кода можно узнать очень много статистических данных о музыкальном исполнителе в моём случае, и о многих других не менее интересных вещах в случаях других студентов. Мне кажется, я буду пользоваться этими навыками, и если меня что-то заинтересует, то у меня появился ещё +1 метод анализа.

Блокнот с кодом и датасет

Анализ творчества Лены Дель Рей
11
We use cookies to improve the operation of the website and to enhance its usability. More detailed information on the use of cookies can be fo...
Show more