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.
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.
- 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,hopehip-hopforam padronizadas comohiphop. - 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.
- 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.
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
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.
git clone https://github.com/JoaoPedroPedrero/ymusic-listening-behavior-analysis.git
cd ymusic-listening-behavior-analysisWindows:
python -m venv .venv
.venv\Scripts\activateLinux ou macOS:
python3 -m venv .venv
source .venv/bin/activatepip install -r requirements.txtColoque 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.
jupyter notebook notebooks/ymusic_listening_behavior_analysis.ipynbDepois, utilize Run All para executar todas as células em sequência.
- Python
- Pandas
- Matplotlib
- Jupyter Notebook
- 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.
- 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.
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.
