Análise das Músicas Mais Populares do Spotify
Introdução
Visão Geral
Análise das Top Músicas do Spotify: Explorando Tendências Musicais Globais
O Problema e Sua Relevância
O streaming de música transformou radicalmente a indústria musical na última década, alterando não apenas como consumimos música, mas também como as tendências musicais se formam e se propagam globalmente. O Spotify, como uma das maiores plataformas de streaming, possui dados valiosos sobre os gostos musicais em diferentes países.
Este projeto analisa as músicas mais populares do Spotify em 73 países, buscando identificar padrões globais e regionais nos gostos musicais. Compreender essas tendências é relevante para:
- Indústria musical: Compositores, produtores e gravadoras podem usar esses insights para entender as preferências do público.
- Profissionais de marketing: Ajuda a criar estratégias de promoção musical mais eficazes para diferentes mercados.
- Antropologia cultural: Fornece uma visão sobre como a cultura musical se difunde entre diferentes nações.
- Consumidores de música: Oferece uma compreensão mais ampla dos gostos musicais globais.
Dados Utilizados
Os dados analisados foram obtidos do Kaggle e contêm informações sobre as músicas mais ouvidas no Spotify em 73 países. O conjunto inclui mais de 1 milhão de linhas com variáveis como:
- Identificadores de músicas
- Títulos e artistas
- Rankings diários e semanais
- Métricas de popularidade
- Características das músicas (explícito, etc.)
- Data de coleta dos dados
Metodologia e Abordagem
Nossa análise segue uma abordagem exploratória estruturada:
- Importação e limpeza dos dados: Organização do conjunto de dados para análise.
- Transformação: Criação de variáveis derivadas, como gêneros dominantes por país.
- Análise global: Identificação das músicas e artistas mais populares mundialmente.
- Análise por região: Comparação de tendências musicais entre diferentes regiões geográficas.
- Visualização interativa: Criação de dashboards que permitem explorar os padrões descobertos.
Público-alvo e Utilidade
Esta análise é direcionada a profissionais da indústria musical, pesquisadores culturais e entusiastas de música que buscam entender melhor as tendências musicais globais. Os insights obtidos podem ser usados para:
- Informar estratégias de lançamento de músicas em diferentes mercados
- Compreender a difusão de gêneros musicais entre fronteiras
- Analisar o impacto de fatores culturais nas preferências musicais
- Identificar artistas com potencial para crescimento em mercados específicos
Objetivos
Objetivos da Análise
Objetivos Específicos:
Identificar padrões globais: Descobrir quais músicas e artistas têm apelo verdadeiramente global.
Analisar diferenças regionais: Examinar como os gostos musicais variam entre diferentes regiões do mundo.
Explorar fatores de popularidade: Determinar quais características estão associadas a músicas de maior sucesso.
Monitorar tendências temporais: Analisar como a popularidade das músicas muda ao longo do tempo.
Investigar o comportamento de streaming: Compreender padrões de consumo musical em diferentes mercados.
Nota: Esta análise se baseia em dados de um momento específico e representa um instantâneo das tendências musicais. As preferências musicais são dinâmicas e podem mudar rapidamente.
Dados
Sobre os Dados
Fonte dos Dados
Os dados foram obtidos do Kaggle, onde estão disponíveis gratuitamente. Eles representam as músicas mais populares no Spotify em 73 países diferentes.
Estrutura do Conjunto de Dados
- Dimensão: Aproximadamente 1 milhão de linhas
- Período: Dados coletados em fevereiro de 2025
- Escopo: 73 países em todos os continentes
Principais Variáveis
spotify_id: Identificador único da música no Spotifyname: Título da músicaartists: Artista(s) que performam a músicadaily_rank: Posição no ranking diáriodaily_movement: Mudança na posição do rankingweekly_movement: Mudança na posição semanalcountry: País onde o ranking foi coletadosnapshot_date: Data da coleta dos dadospopularity: Score de popularidade (0-100)is_explicit: Indicador se a música contém conteúdo explícito
Particularidades dos Dados
- Algumas músicas aparecem em vários países, permitindo análise de popularidade global
- Rankings mais baixos (ex: 1) representam músicas mais populares
- Os dados incluem tanto movimentos de curto prazo (diário) quanto de médio prazo (semanal)
O conjunto de dados oferece uma visão ampla da popularidade musical global, com grande potencial para análises comparativas entre diferentes mercados e culturas.
Carregamento e Transformação
Importação
Carregamento e Limpeza dos Dados
# Carregamento dos dados
spotify_data <- read_csv("Top_spotify_songs.csv")
# Exibindo as primeiras linhas para verificação
head(spotify_data) %>%
kable() %>%
kableExtra::kable_styling(bootstrap_options = c("striped", "hover", "condensed"))| spotify_id | name | artists | daily_rank | daily_movement | weekly_movement | country | snapshot_date | popularity | is_explicit | duration_ms | album_name | album_release_date | danceability | energy | key | loudness | mode | speechiness | acousticness | instrumentalness | liveness | valence | tempo | time_signature |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2plbrEY59IikOBgBGLjaoe | Die With A Smile | Lady Gaga, Bruno Mars | 1 | 1 | 0 | NA | 2025-02-17 | 98 | FALSE | 251667 | Die With A Smile | 2024-08-16 | 0.521 | 0.592 | 6 | -7.777 | 0 | 0.0304 | 0.3080 | 0.000000 | 0.1220 | 0.535 | 157.969 | 3 |
| 2CGNAOSuO1MEFCbBRgUzjd | luther (with sza) | Kendrick Lamar, SZA | 2 | 1 | 4 | NA | 2025-02-17 | 90 | FALSE | 177598 | GNX | 2024-11-21 | 0.707 | 0.575 | 2 | -7.546 | 1 | 0.1250 | 0.2510 | 0.000000 | 0.2480 | 0.576 | 138.008 | 4 |
| 6AI3ezQ4o3HUoP6Dhudph3 | Not Like Us | Kendrick Lamar | 3 | -2 | 8 | NA | 2025-02-17 | 92 | TRUE | 274192 | Not Like Us | 2024-05-04 | 0.898 | 0.472 | 1 | -7.001 | 1 | 0.0776 | 0.0107 | 0.000000 | 0.1410 | 0.214 | 101.061 | 4 |
| 4wJ5Qq0jBN4ajy7ouZIV1c | APT. | ROSÉ, Bruno Mars | 4 | 0 | -2 | NA | 2025-02-17 | 89 | FALSE | 169917 | rosie | 2024-12-06 | 0.777 | 0.783 | 0 | -4.477 | 0 | 0.2600 | 0.0283 | 0.000000 | 0.3550 | 0.939 | 149.027 | 4 |
| 6dOtVTDdiauQNBQEDOtlAB | BIRDS OF A FEATHER | Billie Eilish | 5 | 1 | -2 | NA | 2025-02-17 | 96 | FALSE | 210373 | HIT ME HARD AND SOFT | 2024-05-17 | 0.747 | 0.507 | 2 | -10.171 | 1 | 0.0358 | 0.2000 | 0.060800 | 0.1170 | 0.438 | 104.978 | 4 |
| 3GCdLUSnKSMJhs4Tj6CV3s | All The Stars (with SZA) | Kendrick Lamar, SZA | 6 | -1 | 23 | NA | 2025-02-17 | 90 | TRUE | 232186 | Black Panther The Album Music From And Inspired By | 2018-02-09 | 0.695 | 0.633 | 8 | -4.946 | 1 | 0.0599 | 0.0612 | 0.000195 | 0.0926 | 0.557 | 96.782 | 4 |
Processo de Importação
O conjunto de dados “Top_spotify_songs.csv” foi importado usando a
função read_csv() do pacote readr, parte do
tidyverse. Este arquivo contém informações sobre as músicas mais
populares do Spotify em 73 países diferentes.
Estrutura Inicial dos Dados
## Rows: 1,728,382
## Columns: 25
## $ spotify_id <chr> "2plbrEY59IikOBgBGLjaoe", "2CGNAOSuO1MEFCbBRgUzjd",…
## $ name <chr> "Die With A Smile", "luther (with sza)", "Not Like …
## $ artists <chr> "Lady Gaga, Bruno Mars", "Kendrick Lamar, SZA", "Ke…
## $ daily_rank <dbl> 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, …
## $ daily_movement <dbl> 1, 1, -2, 0, 1, -1, 0, 0, 0, 0, 3, 0, -2, -1, 0, 1,…
## $ weekly_movement <dbl> 0, 4, 8, -2, -2, 23, -3, 13, -2, -2, 4, -3, -8, 2, …
## $ country <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
## $ snapshot_date <date> 2025-02-17, 2025-02-17, 2025-02-17, 2025-02-17, 20…
## $ popularity <dbl> 98, 90, 92, 89, 96, 90, 97, 92, 94, 94, 88, 92, 90,…
## $ is_explicit <lgl> FALSE, FALSE, TRUE, FALSE, FALSE, TRUE, TRUE, TRUE,…
## $ duration_ms <dbl> 251667, 177598, 274192, 169917, 210373, 232186, 237…
## $ album_name <chr> "Die With A Smile", "GNX", "Not Like Us", "rosie", …
## $ album_release_date <date> 2024-08-16, 2024-11-21, 2024-05-04, 2024-12-06, 20…
## $ danceability <dbl> 0.521, 0.707, 0.898, 0.777, 0.747, 0.695, 0.625, 0.…
## $ energy <dbl> 0.59200, 0.57500, 0.47200, 0.78300, 0.50700, 0.6330…
## $ key <dbl> 6, 2, 1, 0, 2, 8, 7, 6, 10, 1, 0, 6, 10, 9, 0, 11, …
## $ loudness <dbl> -7.777, -7.546, -7.001, -4.477, -10.171, -4.946, -2…
## $ mode <dbl> 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 1, …
## $ speechiness <dbl> 0.0304, 0.1250, 0.0776, 0.2600, 0.0358, 0.0599, 0.0…
## $ acousticness <dbl> 0.30800, 0.25100, 0.01070, 0.02830, 0.20000, 0.0612…
## $ instrumentalness <dbl> 0.00e+00, 0.00e+00, 0.00e+00, 0.00e+00, 6.08e-02, 1…
## $ liveness <dbl> 0.1220, 0.2480, 0.1410, 0.3550, 0.1170, 0.0926, 0.0…
## $ valence <dbl> 0.53500, 0.57600, 0.21400, 0.93900, 0.43800, 0.5570…
## $ tempo <dbl> 157.969, 138.008, 101.061, 149.027, 104.978, 96.782…
## $ time_signature <dbl> 3, 4, 4, 4, 4, 4, 4, 4, 3, 4, 4, 4, 4, 4, 4, 4, 4, …
Verificação de Valores Ausentes
# Contagem de valores ausentes por coluna
colSums(is.na(spotify_data)) %>%
as.data.frame() %>%
rename("Valores Ausentes" = ".") %>%
kable() %>%
kableExtra::kable_styling(bootstrap_options = c("striped", "hover", "condensed"))| Valores Ausentes | |
|---|---|
| spotify_id | 0 |
| name | 30 |
| artists | 29 |
| daily_rank | 0 |
| daily_movement | 0 |
| weekly_movement | 0 |
| country | 23607 |
| snapshot_date | 0 |
| popularity | 0 |
| is_explicit | 0 |
| duration_ms | 0 |
| album_name | 821 |
| album_release_date | 658 |
| danceability | 0 |
| energy | 0 |
| key | 0 |
| loudness | 0 |
| mode | 0 |
| speechiness | 0 |
| acousticness | 0 |
| instrumentalness | 0 |
| liveness | 0 |
| valence | 0 |
| tempo | 0 |
| time_signature | 0 |
Limpeza
Transformação e Limpeza dos Dados
# Limpeza e transformação dos dados
spotify_clean <- spotify_data %>%
# Convertendo para lowercase e removendo espaços extras
clean_names() %>%
# Convertendo a data para formato adequado
mutate(snapshot_date = as.Date(snapshot_date)) %>%
# Removendo duplicatas
distinct() %>%
# Lidando com valores ausentes
drop_na(spotify_id, name, artists) %>%
# Criando variáveis derivadas úteis
mutate(
# Extraindo o primeiro artista quando há vários
main_artist = str_extract(artists, "^[^,]+"),
# Classificando a popularidade
popularity_category = case_when(
popularity >= 90 ~ "Muito alta",
popularity >= 80 ~ "Alta",
popularity >= 70 ~ "Média",
popularity >= 60 ~ "Baixa",
TRUE ~ "Muito baixa"
),
# Criando uma variável para ranking invertido (para visualizações)
popularity_score = 101 - popularity,
# Adicionando continente e região baseado no país
continent = case_when(
country %in% c("Argentina", "Brazil", "Chile", "Colombia", "Ecuador",
"Mexico", "Peru", "Uruguay", "Venezuela", "Bolivia",
"Costa Rica", "Dominican Republic", "El Salvador",
"Guatemala", "Honduras", "Nicaragua", "Panama",
"Paraguay") ~ "América Latina",
country %in% c("United States", "Canada") ~ "América do Norte",
country %in% c("Austria", "Belgium", "Bulgaria", "Croatia", "Czech Republic",
"Denmark", "Estonia", "Finland", "France", "Germany",
"Greece", "Hungary", "Iceland", "Ireland", "Italy",
"Latvia", "Lithuania", "Luxembourg", "Netherlands",
"Norway", "Poland", "Portugal", "Romania", "Slovakia",
"Spain", "Sweden", "Switzerland", "United Kingdom") ~ "Europa",
country %in% c("Australia", "New Zealand") ~ "Oceania",
country %in% c("Japan", "South Korea", "Hong Kong", "Malaysia",
"Philippines", "Singapore", "Taiwan", "Thailand",
"Vietnam", "Indonesia", "India") ~ "Ásia",
country %in% c("Egypt", "Morocco", "South Africa", "Nigeria",
"Kenya", "Ghana", "Tunisia", "Uganda") ~ "África",
TRUE ~ "Outro"
),
# Classificando os idiomas das músicas (inferência simplificada)
language = case_when(
str_detect(tolower(name), "\\b(el|la|los|las|de|del|con|y|en|para|por|que|yo|tu|mi|te|se|no|si|como|estar|ser|tener|hacer|ir|ver|dar|decir|poder|querer|poner|saber|salir|venir)\\b") ~ "Espanhol",
str_detect(tolower(name), "\\b(o|a|os|as|de|da|do|das|dos|com|e|em|para|por|que|eu|tu|meu|teu|se|não|sim|como|estar|ser|ter|fazer|ir|ver|dar|dizer|poder|querer|pôr|saber|sair|vir)\\b") ~ "Português",
str_detect(tolower(name), "\\b(le|la|les|de|du|des|avec|et|en|pour|par|que|je|tu|mon|ton|se|ne|pas|oui|comme|être|avoir|faire|aller|voir|donner|dire|pouvoir|vouloir|mettre|savoir|sortir|venir)\\b") ~ "Francês",
str_detect(tolower(name), "\\b(der|die|das|den|dem|des|mit|und|in|für|durch|dass|ich|du|mein|dein|sich|nicht|ja|wie|sein|haben|machen|gehen|sehen|geben|sagen|können|wollen|stellen|wissen|ausgehen|kommen)\\b") ~ "Alemão",
str_detect(tolower(name), "\\b(il|lo|la|i|gli|le|di|del|dello|della|delle|con|e|in|per|che|io|tu|mio|tuo|si|no|sì|come|essere|avere|fare|andare|vedere|dare|dire|potere|volere|mettere|sapere|uscire|venire)\\b") ~ "Italiano",
str_detect(tolower(name), "\\b(の|は|に|を|が|で|と|も|から|より|まで|へ|や|する|ある|いる|なる|できる|見る|言う|思う|考える|行く|来る|帰る|食べる|飲む|寝る|起きる|読む|書く)\\b") ~ "Japonês",
str_detect(tolower(name), "\\b(의|는|에|을|이|로|와|도|부터|까지|에게|께|처럼|하다|있다|되다|보다|말하다|생각하다|가다|오다|듣다|먹다|마시다|자다|일어나다|읽다|쓰다)\\b") ~ "Coreano",
TRUE ~ "Inglês" # Assumindo que a maioria das músicas sem marcadores específicos são em inglês
),
# Extraindo mês da data para análises sazonais
month = month(snapshot_date),
# Categorizando por época do ano
season = case_when(
month %in% c(12, 1, 2) ~ "Inverno",
month %in% c(3, 4, 5) ~ "Primavera",
month %in% c(6, 7, 8) ~ "Verão",
month %in% c(9, 10, 11) ~ "Outono",
TRUE ~ NA_character_
)
)Principais Transformações Aplicadas
Padronização de nomes: Utilizamos
clean_names()para padronizar os nomes das colunas para o formato snake_case.Conversão de tipos de dados: Convertemos a coluna
snapshot_datepara o formato de data apropriado.Remoção de duplicatas: Eliminamos entradas duplicadas para evitar viés na análise.
Tratamento de valores ausentes: Removemos linhas com valores ausentes nas colunas essenciais para nossa análise.
Criação de variáveis derivadas:
main_artist: Extraímos o artista principal de músicas com múltiplos artistas.popularity_category: Categorizamos a popularidade em níveis para facilitar análises.popularity_score: Invertemos a escala de popularidade para algumas visualizações específicas.continent: Adicionamos uma classificação continental/regional para análises geográficas.language: Inferimos o idioma da música com base em palavras comuns no título.montheseason: Extraímos informações temporais para análises sazonais.
Resumo dos Dados Limpos
# Resumo estatístico das variáveis numéricas
spotify_clean %>%
select(daily_rank, daily_movement, weekly_movement, popularity) %>%
summary() %>%
kable() %>%
kableExtra::kable_styling(bootstrap_options = c("striped", "hover", "condensed"))| daily_rank | daily_movement | weekly_movement | popularity | |
|---|---|---|---|---|
| Min. : 1.00 | Min. :-49.0000 | Min. :-49.000 | Min. : 0.0 | |
| 1st Qu.:13.00 | 1st Qu.: -1.0000 | 1st Qu.: -3.000 | 1st Qu.: 65.0 | |
| Median :25.00 | Median : 0.0000 | Median : 0.000 | Median : 80.0 | |
| Mean :25.49 | Mean : 0.9284 | Mean : 2.802 | Mean : 76.1 | |
| 3rd Qu.:38.00 | 3rd Qu.: 2.0000 | 3rd Qu.: 5.000 | 3rd Qu.: 88.0 | |
| Max. :50.00 | Max. : 49.0000 | Max. : 49.000 | Max. :100.0 |
Exploração Inicial
Visão Geral dos Dados Preparados
Músicas Mais Populares Globalmente
| name | artists | count | avg_daily_rank | avg_popularity | countries |
|---|---|---|---|---|---|
| 1980 (Electro Mix) | Melody Alex. Patrick | 1 | 1 | 54.0 | 1 |
| 3 Days | Lady Redneck | 1 | 1 | 1.0 | 1 |
| 33 Key Weights | Nitro Blaze | 1 | 1 | 11.0 | 1 |
| Aftur ung | Friðrik Dór | 1 | 1 | 0.0 | 1 |
| All or Nothing | Ayanna Irish | 1 | 1 | 19.0 | 1 |
| Apple Pie | \[Double-Dolla\] | 1 | 1 | 0.0 | 1 |
| BABASHA - Păi Naa | كريم كرستيانو و اسلام كابونجا | 5 | 1 | 20.2 | 1 |
| BAG TALK | Sidney Sims | 1 | 1 | 22.0 | 1 |
| BankRoll | LP Lproducer | 1 | 1 | 37.0 | 1 |
| Better - Pitched Up | PHARI | 1 | 1 | 55.0 | 1 |
Artistas com Mais Músicas nos Rankings
| main_artist | tracks | countries | avg_popularity |
|---|---|---|---|
| Taylor Swift | 100 | 68 | 84.28257 |
| Bad Bunny | 49 | 51 | 88.64594 |
| ElGrandeToto | 47 | 1 | 60.79234 |
| Kelvin Momo | 46 | 1 | 54.10059 |
| Jay Chou | 43 | 3 | 61.35533 |
| Oasis | 42 | 26 | 69.93333 |
| Geolier | 40 | 4 | 70.41058 |
| Jul | 40 | 5 | 68.65891 |
| Coldplay | 39 | 37 | 84.43784 |
| Future | 39 | 40 | 82.85567 |
Distribuição de Popularidade por País
Transformações Avançadas
Transformações Adicionais para Análise
# Criando um dataframe para análise de tendências
trends_data <- spotify_clean %>%
group_by(country, name, artists, spotify_id, continent, language) %>%
summarise(
min_rank = min(daily_rank),
max_rank = max(daily_rank),
avg_rank = mean(daily_rank),
rank_volatility = sd(daily_rank),
avg_popularity = mean(popularity),
is_explicit = first(is_explicit),
daily_movement_avg = mean(daily_movement, na.rm = TRUE),
weekly_movement_avg = mean(weekly_movement, na.rm = TRUE),
days_in_ranking = n_distinct(snapshot_date)
) %>%
ungroup()
# Criando um dataframe para análise de artistas
artists_data <- spotify_clean %>%
group_by(main_artist) %>%
summarise(
track_count = n_distinct(spotify_id),
country_count = n_distinct(country),
continent_count = n_distinct(continent),
avg_popularity = mean(popularity),
explicit_ratio = mean(is_explicit == TRUE, na.rm = TRUE),
top_rank = min(daily_rank),
avg_daily_movement = mean(daily_movement, na.rm = TRUE),
consistency_score = sd(daily_rank) # Menor desvio padrão = mais consistente
) %>%
ungroup() %>%
# Classificando artistas por alcance global
mutate(
global_reach = case_when(
country_count >= 50 ~ "Global",
country_count >= 30 ~ "Continental",
country_count >= 10 ~ "Regional",
TRUE ~ "Local"
),
# Classificando artistas por tamanho (proxy simplificado para independente vs. major)
artist_size = case_when(
avg_popularity >= 85 & country_count >= 40 ~ "Major Label",
avg_popularity >= 75 & country_count >= 20 ~ "Mid-size Label",
TRUE ~ "Independente/Menor"
)
)
# Criando um dataframe para análise temporal
temporal_data <- spotify_clean %>%
group_by(spotify_id, name, artists, snapshot_date, month, season) %>%
summarise(
avg_daily_rank = mean(daily_rank),
countries_present = n_distinct(country),
avg_popularity = mean(popularity),
is_explicit = first(is_explicit),
daily_movement = mean(daily_movement, na.rm = TRUE),
weekly_movement = mean(weekly_movement, na.rm = TRUE)
) %>%
ungroup() %>%
# Adicionando indicadores de sazonalidade
mutate(
is_christmas = ifelse(
str_detect(tolower(name), "christmas|xmas|navidad|natal|noel|weihnacht") &
month == 12,
TRUE,
FALSE
),
is_summer_themed = ifelse(
str_detect(tolower(name), "summer|verano|été|sommer|beach|playa|praia|vacations|sol|sun") &
season == "Verão",
TRUE,
FALSE
)
)
# Criando um dataframe para análise de conteúdo explícito
explicit_data <- spotify_clean %>%
group_by(country, continent, is_explicit) %>%
summarise(
track_count = n_distinct(spotify_id),
avg_popularity = mean(popularity),
avg_rank = mean(daily_rank)
) %>%
ungroup() %>%
# Calculando proporção de conteúdo explícito por país
group_by(country, continent) %>%
mutate(
total_tracks = sum(track_count),
explicit_ratio = track_count[is_explicit == TRUE] / total_tracks
) %>%
ungroup()Conjuntos de Dados Derivados
Para facilitar análises específicas, criamos quatro novos conjuntos de dados:
- Dados de Tendências (
trends_data)- Agrupa os dados por país, música, artista e características regionais/linguísticas
- Calcula métricas como ranking mínimo, máximo e médio
- Mede a volatilidade do ranking como desvio padrão
- Inclui indicadores de movimentação no ranking
- Dados de Artistas (
artists_data)- Agrupa por artista principal
- Calcula o número de faixas no ranking e países de presença
- Mede popularidade média e proporção de conteúdo explícito
- Classifica artistas por alcance global e tamanho
- Dados Temporais (
temporal_data)- Foca na dimensão temporal dos rankings
- Identifica padrões sazonais como músicas natalinas ou de verão
- Rastreia movimentações diárias e semanais no ranking
- Dados de Conteúdo Explícito
(
explicit_data)- Analisa a proporção de conteúdo explícito por país e região
- Compara a popularidade de músicas explícitas vs. não explícitas
- Permite análises culturais sobre aceitação de conteúdo explícito
Distribuição de Artistas por Alcance Global
Conjunto Final
Dados Preparados para Análise
Estrutura dos Dados Finais
Após as etapas de carregamento, limpeza e transformação, temos cinco conjuntos de dados principais:
spotify_clean: Dados completos limpos e enriquecidostrends_data: Dados agregados para análise de tendências musicaisartists_data: Dados agregados para análise de artistastemporal_data: Dados para análise de padrões temporaisexplicit_data: Dados para análise de conteúdo explícito
| Conjunto.de.Dados | Linhas | Colunas |
|---|---|---|
| spotify_clean | 1728352 | 32 |
| trends_data | 46830 | 15 |
| artists_data | 6725 | 11 |
| temporal_data | 873949 | 14 |
| explicit_data | 146 | 8 |
Verificação de Consistência
| Estatística | Valor |
|---|---|
| total_tracks | 20562.00000 |
| total_artists | 6725.00000 |
| total_countries | 73.00000 |
| total_continents | 1.00000 |
| avg_popularity | 76.10122 |
| pct_explicit | 32.77654 |
Conclusão da Preparação: Os dados foram carregados, limpos e transformados com sucesso. Estamos prontos para prosseguir com as análises detalhadas solicitadas nas próximas seções.
Tendências Globais e Regionais
Top Músicas Globais
As Músicas Mais Populares Globalmente
| name | artists | global_reach | continents | avg_global_rank | avg_popularity | explicit |
|---|---|---|---|---|---|---|
| Die With A Smile | Lady Gaga, Bruno Mars | 70/73 países | 1 continentes | 15.83455 | 98.64503 | Não |
| APT. | ROSÉ, Bruno Mars | 68/73 países | 1 continentes | 18.42407 | 87.35302 | Não |
| APT. | ROSÉ, Bruno Mars | 68/73 países | 1 continentes | 18.52555 | 94.98404 | Não |
| Not Like Us | Kendrick Lamar | 67/73 países | 1 continentes | 25.40946 | 93.08297 | Sim |
| Fortnight (feat. Post Malone) | Taylor Swift, Post Malone | 65/73 países | 1 continentes | 27.86993 | 79.95109 | Não |
| All I Want for Christmas Is You | Mariah Carey | 64/73 países | 1 continentes | 19.79785 | 96.01556 | Não |
| BIRDS OF A FEATHER | Billie Eilish | 63/73 países | 1 continentes | 23.36128 | 97.17529 | Não |
| Espresso | Sabrina Carpenter | 62/73 países | 1 continentes | 21.42261 | 97.27319 | Sim |
| yes, and? | Ariana Grande | 62/73 países | 1 continentes | 27.56336 | 83.41835 | Sim |
| LUNCH | Billie Eilish | 61/73 países | 1 continentes | 28.61672 | 92.39693 | Não |
| Artista | Países | Continentes | Alcance Global (%) | Popularidade Média |
|---|---|---|---|---|
| Kendrick Lamar | 70 | 1 | 95.89041 | 89.67804 |
| Lady Gaga | 70 | 1 | 95.89041 | 97.45484 |
| Billie Eilish | 68 | 1 | 93.15068 | 93.54026 |
| ROSÉ | 68 | 1 | 93.15068 | 88.50351 |
| Taylor Swift | 68 | 1 | 93.15068 | 84.28257 |
| Ariana Grande | 66 | 1 | 90.41096 | 88.05192 |
| Sabrina Carpenter | 65 | 1 | 89.04110 | 92.26119 |
| Mariah Carey | 64 | 1 | 87.67123 | 93.15434 |
| Wham! | 61 | 1 | 83.56164 | 85.00446 |
| Artemas | 59 | 1 | 80.82192 | 87.83524 |
| Artista | Países | Popularidade Média | Número de Faixas | Posição Média |
|---|---|---|---|---|
| Alex Favela | 3 | 87.50753 | 2 | 27.78925 |
| AC/DC | 5 | 85.12500 | 4 | 34.87500 |
| JVKE | 4 | 85.10938 | 2 | 41.55469 |
| The Cranberries | 3 | 84.92342 | 3 | 37.40090 |
| Dominic Fike | 5 | 84.78947 | 2 | 40.39098 |
| Junior H | 5 | 84.56895 | 10 | 26.28642 |
| LIT killah | 5 | 84.50884 | 2 | 34.29273 |
| Brray | 4 | 84.34375 | 2 | 41.96250 |
| Lil Peep | 3 | 84.20472 | 4 | 44.45669 |
| ROSALÍA | 4 | 84.20000 | 3 | 36.53333 |
| Tipo de Conteúdo | Número de Faixas | Popularidade Média | Ranking Médio | Ranking Mediano |
|---|---|---|---|---|
| Não Explícito | 13854 | 75.03737 | 25.75781 | 26 |
| Explícito | 6778 | 78.28313 | 24.94718 | 25 |
| País | Continente | % Explícito | Popularidade Explícita | Popularidade Não-Explícita | Diferença |
|---|---|---|---|---|---|
| CL | Outro | 3195.519 | 77.26087 | 79.60113 | -2.340267 |
| GT | Outro | 3023.469 | 86.36045 | 83.57593 | 2.784519 |
| PY | Outro | 3020.000 | 84.96515 | 80.45250 | 4.512651 |
| MX | Outro | 3013.470 | 84.35412 | 83.10861 | 1.245510 |
| PE | Outro | 2998.898 | 85.43753 | 82.44374 | 2.993798 |
| EC | Outro | 2726.304 | 84.76021 | 82.52206 | 2.238151 |
| BO | Outro | 2657.831 | 85.93586 | 79.89281 | 6.043050 |
| SV | Outro | 2468.485 | 85.99550 | 82.27549 | 3.720007 |
| GR | Outro | 2318.555 | 62.65221 | 64.56353 | -1.911323 |
| HN | Outro | 2293.574 | 86.42514 | 82.32036 | 4.104781 |