Skip to content

About

Análise exploratória do comportamento de escuta no Y.Music, com limpeza, validação, normalização e visualização de dados em Python, Pandas e Matplotlib.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

5 Commits

Folders and files

Repository files navigation

Y.Music Listening Behavior Analysis

Análise exploratória do comportamento de escuta dos usuários da Y.Music, desenvolvida com Python, Pandas e Matplotlib.

O projeto compara a atividade registrada em Springfield e Shelbyville durante segunda, quarta e sexta-feira. A análise inclui limpeza, validação, transformação, comparação de volumes absolutos e normalização dos resultados dentro de cada cidade.

Distribuição semanal dentro de cada cidade

Objetivo

Investigar se Springfield e Shelbyville apresentam padrões diferentes de reprodução musical ao longo dos três dias disponíveis na amostra.

A análise é descritiva. Ela identifica padrões presentes no conjunto de dados, mas não tenta provar causalidade nem generalizar os resultados para toda a população das cidades.

Principais resultados

  • A base original possui 65.079 registros e, após a remoção de duplicatas explícitas, permanece com 61.253 linhas.
  • Foram tratados 1.343 nomes de faixa, 7.567 artistas e 1.198 gêneros ausentes.
  • Foram removidas 3.826 linhas duplicadas.
  • As grafias hip, hop e hip-hop foram padronizadas como hiphop.
  • Springfield concentra 42.741 reproduções, enquanto Shelbyville registra 18.512.
  • Em Springfield, segunda e sexta representam aproximadamente 36,8% e 37,3% da atividade da cidade.
  • Em Shelbyville, quarta-feira apresenta o maior movimento relativo, com 37,8%.
  • A normalização revelou que as cidades diferem não apenas em volume, mas também na distribuição semanal das reproduções.

Competências demonstradas

  • limpeza e padronização de dados com Pandas;
  • tratamento de valores ausentes e duplicatas;
  • validações automáticas com assert;
  • agrupamentos com groupby;
  • criação de tabelas comparativas com pivot_table;
  • normalização de grupos com tamanhos diferentes;
  • visualização de dados com Matplotlib;
  • comunicação de resultados, limitações e possíveis aplicações de negócio;
  • organização de um notebook reproduzível para portfólio.

Estrutura do repositório

ymusic-listening-behavior-analysis/
├── data/
│   └── README.md
├── images/
│   ├── plays_by_city.png
│   ├── plays_by_day.png
│   └── weekly_distribution_by_city.png
├── notebooks/
│   └── ymusic_listening_behavior_analysis.ipynb
├── reports/
│   └── ymusic_listening_behavior_analysis.html
├── .gitignore
├── README.md
└── requirements.txt

Visualização rápida

Para conhecer o projeto sem executar o código:

Dependendo do navegador, o arquivo HTML pode ser baixado em vez de aberto diretamente. O notebook continua disponível para visualização completa pelo GitHub.

Como executar

1. Clone o repositório

git clone https://github.com/JoaoPedroPedrero/ymusic-listening-behavior-analysis.git
cd ymusic-listening-behavior-analysis

2. Crie e ative um ambiente virtual

Windows:

python -m venv .venv
.venv\Scripts\activate

Linux ou macOS:

python3 -m venv .venv
source .venv/bin/activate

3. Instale as dependências

pip install -r requirements.txt

4. Adicione os dados

Coloque o arquivo abaixo na pasta data/:

music_project_en.csv

O notebook também verifica a pasta atual, o caminho original da TripleTen e a cópia pública utilizada no material do curso.

5. Abra o notebook

jupyter notebook notebooks/ymusic_listening_behavior_analysis.ipynb

Depois, utilize Run All para executar todas as células em sequência.

Tecnologias

  • Python
  • Pandas
  • Matplotlib
  • Jupyter Notebook

Limitações

  • A amostra contém apenas segunda, quarta e sexta-feira.
  • O número total de usuários de cada cidade não está disponível.
  • Uma quantidade maior de registros não significa necessariamente maior consumo médio por usuário.
  • Os resultados são descritivos e não constituem um teste estatístico inferencial.
  • O conjunto de dados original não está incluído neste repositório.

Possíveis melhorias futuras

  • incluir todos os dias da semana;
  • analisar usuários únicos por cidade;
  • investigar horários de maior atividade;
  • comparar gêneros musicais após avaliar o impacto dos valores ausentes;
  • aplicar testes estatísticos com uma amostra adequada.

Autor

João Pedro Pedrero

Projeto desenvolvido durante a formação em Ciência de Dados da TripleTen e revisado para apresentação em portfólio.

About

Análise exploratória do comportamento de escuta no Y.Music, com limpeza, validação, normalização e visualização de dados em Python, Pandas e Matplotlib.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages