1
resposta

[Projeto] 03 Etapa #1 - Análise Exploratória de Dados

  1. Carregar e preparar os dados

import pandas as pd
import matplotlib.pyplot as plt

Carregar dataset

df = pd.read_csv("user_data.csv")

Converter data

df["last_played"] = pd.to_datetime(df["last_played"])

df.head()

  1. Verifique e trate problemas

Valores ausentes

print("Valores ausentes:\n", df.isnull().sum())

Remover duplicatas

df = df.drop_duplicates()

print("Total após limpeza:", len(df))

  1. Estatísticas descritivas

print(df["play_count"].describe())
4. Distribuição por usuário
plays_por_usuario = df.groupby("user_id")["play_count"].sum()
print("Plays por usuário:\n", plays_por_usuario)

  1. Distribuição por música

plays_por_musica = df.groupby("song_id")["play_count"].sum()
print("Plays por música:\n", plays_por_musica)

  1. Top 5 músicas e usuários

Top músicas

top_musicas = plays_por_musica.sort_values(ascending=False).head(5)
print("Top 5 músicas:\n", top_musicas)

Top usuários

top_usuarios = plays_por_usuario.sort_values(ascending=False).head(5)
print("Top 5 usuários:\n", top_usuarios)

  1. Criar matriz (pivot)

matriz = df.pivot_table(
index="user_id",
columns="song_id",
values="play_count",
fill_value=0
)

print(matriz)

  1. Histograma

plt.hist(df["play_count"], bins=10)
plt.title("Distribuição de play_count")
plt.xlabel("Reproduções")
plt.ylabel("Frequência")
plt.show()

1 resposta

Oii, Moacir. O seu código tá limpo, funcional e segue as boas práticas de manipulação de dados com Python e Pandas.

Pontos de destaque sobre a execução:

  • Tratamento de dados: A conversão de last_played para datetime e a remoção de duplicatas garantem a integridade das análises temporais e estatísticas.
  • Lógica de agrupamento: O uso correto do .groupby() seguido de .sum() e .sort_values() demonstra domínio na extração de rankings de popularidade e engajamento.
  • Estruturação de matriz: A criação da pivot_table com fill_value=0 é o ponto alto, pois transforma dados brutos em uma estrutura de utilidade para algoritmos de filtragem colaborativa.
  • Visualização: O histograma cumpre seu papel de validar a distribuição dos dados e identificar possíveis comportamentos atípicos (outliers) de forma rápida.

O trabalho tá pronto pra avançar para a próxima fase do projeto de recomendação.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!