Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Exercicio_S11_Jessica #6

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
59 changes: 59 additions & 0 deletions exercicios/para-casa/JessicaAuroraS11.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
#Exercicio Semana 11 [Pandas]

import pandas as pd

#Use o arquivo `mais_ouvidas_2024.csv` para análise. Lembre-se de garantir que o carregamento foi feito com sucesso.

df = pd.read_csv("../../material/mais_ouvidas_2024.csv")
#print(df.head())
#print(df.columns)

#Indentifique as colunas que contêm números, como 'Spotify Streams', 'YouTube Views', etc., e converta essas colunas para o tipo numérico se estiverem em outro formato. (Use replace() e astype())

print(df.dtypes)#Verificando os tipos de dado

#Corrigindo os tipos de dados - errors='coerce' para corrir erros de '.' e ',' na separaçao entre outros erros de digitaçao

df['All Time Rank'] = pd.to_numeric(df['All Time Rank'], errors='coerce')
df['Spotify Streams'] = pd.to_numeric(df['Spotify Streams'], errors='coerce')
df['Spotify Playlist Count'] = pd.to_numeric(df['Spotify Playlist Count'], errors='coerce')
df['Spotify Playlist Reach'] = pd.to_numeric(df['Spotify Playlist Reach'], errors='coerce')
df['YouTube Views'] = pd.to_numeric(df['YouTube Views'], errors='coerce')
df['YouTube Likes'] = pd.to_numeric(df['YouTube Likes'], errors='coerce')
df['TikTok Posts'] = pd.to_numeric(df['TikTok Posts'], errors='coerce')
df['TikTok Likes'] = pd.to_numeric(df['TikTok Likes'], errors='coerce')
df['TikTok Views'] = pd.to_numeric(df['TikTok Views'], errors='coerce')
df['YouTube Playlist Reach'] = pd.to_numeric(df['YouTube Playlist Reach'], errors='coerce')
df['AirPlay Spins'] = pd.to_numeric(df['AirPlay Spins'], errors='coerce')
df['SiriusXM Spins'] = pd.to_numeric(df['SiriusXM Spins'], errors='coerce')
df['Deezer Playlist Reach'] = pd.to_numeric(df['Deezer Playlist Reach'], errors='coerce')
df['Pandora Streams'] = pd.to_numeric(df['Pandora Streams'], errors='coerce')
df['Soundcloud Streams'] = pd.to_numeric(df['Soundcloud Streams'], errors='coerce')
df['Shazam Counts'] = pd.to_numeric(df['Shazam Counts'], errors='coerce')

#Corrija a coluna 'Release Date' para o formato datetime.

df['Release Date'] = pd.to_datetime(df['Release Date'], errors='coerce')
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

o que faz definir o parâmetro errors='coerce' faz?


#print(df.dtypes)#Conferindo a mudança de tipo de dado

#Crie uma nova coluna chamada 'Streaming Popularity', que seja a média da popularidade nas plataformas 'Spotify Popularity', 'YouTube Views', 'TikTok Likes', e 'Shazam Counts'. (lembrem-se que só é possível calcular médias e fazer operações matemáticas com tipos númericos)

df['Streaming Popularity'] = (df['Spotify Popularity'] + df['YouTube Views'] + df['TikTok Likes'] + df['Shazam Counts']) / 4
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

É possível calcular a média as colunas pela função sum()

#print(df.head())
#print(df.columns)

#Crie uma coluna 'Total Streams', somando os valores de 'Spotify Streams', 'YouTube Views', 'TikTok Views', 'Pandora Streams', e 'Soundcloud Streams'.

df['Total Streams'] = (df['Spotify Streams'] + df['YouTube Views'] + df['TikTok Views'] + df['Pandora Streams'] + df['Soundcloud Streams'])
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

é possível obter a soma de varias colunas com o uso do sum()

#print(df.head())
#print(df.columns)

#Filtre apenas as faixas onde a popularidade do Spotify ('Spotify Popularity') é maior que 80 e que tenham mais de 1 milhão de streams totais ('Total Streams').

filtered_df = df[(df['Spotify Popularity'] > 80) & (df['Total Streams'] > 1_000_000)]
print(filtered_df)

#Salve o DataFrame resultante em um novo arquivo JSON chamado 'faixas_filtradas.json'.

df.to_json('./faixas_filtradas.json', orient='records', lines=True)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

O que fazem esses parâmetros que você enviou e porque usou?

Loading